2017-10-20 103 views
0

我想在datagrip IDE更新某個表的日期在MySQL的,我不斷收到同樣的錯誤消息,當我運行查詢來更新表中的MySQL日期:嘗試使用datagrip IDE

[2017年10月20日12時39分28秒] [HY000] [1411]不正確的日期時間值: '2016年4月16日上午10點00分零零秒' 的功能STR_TO_DATE

UPDATE DetailRental 
    SET DETAIL_RETURNDATE = STR_TO_DATE('2016-04-16 10:00:00 AM', '%d/%m/%Y %h:%i %p') 
WHERE RENT_NUM = 1001 AND VID_NUM = 34342; 

以上是我的查詢,我在互聯網上搜索如何格式化,據我所知,這是最一致的,但我繼續收到相同的錯誤消息,我的表格不會更新。

如果有人能幫忙,看看我做錯了什麼會很好。謝謝。

回答

0

您的字符串中的數據格式爲YYYY-MM-DD HH:MM:SS AM,但您要求解析DD/MM/YYYY HH:MM AM格式的日期。您的解析字符串必須是您的字符串所在的格式。

mysql> select STR_TO_DATE('2016-04-16 10:00:00 AM', '%d/%m/%Y %h:%i %p'); 
+------------------------------------------------------------+ 
| STR_TO_DATE('2016-04-16 10:00:00 AM', '%d/%m/%Y %h:%i %p') | 
+------------------------------------------------------------+ 
| NULL              | 
+------------------------------------------------------------+ 

mysql> select STR_TO_DATE('2016-04-16 10:00:00 AM', '%Y-%m-%d %h:%i:%s %p'); 
+---------------------------------------------------------------+ 
| STR_TO_DATE('2016-04-16 10:00:00 AM', '%Y-%m-%d %h:%i:%s %p') | 
+---------------------------------------------------------------+ 
| 2016-04-16 10:00:00           | 
+---------------------------------------------------------------+