當我嘗試使用str_to_date()將我的Estimates表中字符串日期值的列CreatedDate轉換爲mySQL日期格式時,我總是收到一條錯誤消息。我的數據列包含m/d/yy格式的日期(例如:1/26/16或3/3/16)。mySQL str_to_date()函數返回錯誤
我跑這個查詢:
UPDATE Estimates
SET CreatedDate = str_to_date(CreatedDate, '%c/%e/%y')
MySQL是返回此錯誤消息:
Error
SQL query:
UPDATE Estimates
SET CreatedDate = str_to_date(CreatedDate, '%c/%e/%y')
MySQL said: #1411 - Incorrect datetime value: '' for function str_to_date
什麼是錯我的查詢?
你有行這個字段是空的嗎? –
理想情況下,您應該創建一個新的'DATE'類型列,然後使用此函數從舊的字符串值切換到新的'DATE'。您還必須跳過那些空白或NULL值的值。 MySQL內部更喜歡ISO-8601格式的日期:YYYY-MM-DD。 – tadman
@tadman如何調整我的查詢來解釋NULL值?如果我創建了一個新的DATE類型列,那麼將查詢的值從CreatedDate轉換爲正確的日期格式並將它們移動到新列中的查詢是什麼?感謝您的幫助! – Liz