簡體   English   中英

MySQL STR_TO_DATE函數不適用於時間

[英]MySQL STR_TO_DATE function not work for time

我只想要時間與另一個時間字符串進行比較,所以我使用STR_TO_DATE函數將我的時間字符串轉換為日期時間格式

下面的聲明對我來說很好,所以我認為MySQL沒有任何問題

SELECT STR_TO_DATE('26/04/2011', '%d/%m/%Y');

但我不知道為什么下面的一個不適合我

SELECT STR_TO_DATE('11:59:59','%h:%i:%s');  

當我在PhpMyAdmin的SQL控制台中運行時,上面的語句總是返回NULL

這確實是因為SQL模式為NO_ZERO_DATE 您應該已經看到當Anand Rockzz鏈接到手冊時,但該鏈接只是解釋的一半。 從MySQL 5.7.4開始,不推薦使用該設置。 在您的第一個示例中,您要設置日期; 在第二個中, NO_ZERO_DATE導致返回NULL,因為您沒有指定日期。 從5.7.8開始, NO_ZERO_DATENO_ZERO_IN_DATE已包含在默認的sql_mode值中。 根據手冊 ,看起來好像已經部分還原了棄用和刪除(從5.7.8開始),因此您可以在my.cnf (或每個會話)中明確設置它。

您還應該參考有關NO_ZERO_DATE指令的手冊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM