我只想与其他时间字符串进行比较,因此我使用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
答案 0 :(得分:0)
这确实是因为SQL模式NO_ZERO_DATE
。您应该已经看到当Anand Rockzz链接到手册时,但该链接只是解释的一半。从MySQL 5.7.4开始,不推荐使用该设置。在您的第一个示例中,您要设置日期;在第二个中,NO_ZERO_DATE
导致返回NULL,因为您没有指定日期。从5.7.8开始,NO_ZERO_DATE
和NO_ZERO_IN_DATE
已包含在默认的sql_mode值中。根据{{3}},好像已经部分还原了弃用和删除(从5.7.8开始),因此您可以在my.cnf
(或每个会话)中明确设置此项
您还应该参考有关the manual指令的手册。