我想只能用另一个时间线进行比较的时候,所以我用STR_TO_DATE
功能,我的时间字符串转换为日期时间格式
下面的语句工作正常,我,所以我认为MySQL的没有任何问题
SELECT STR_TO_DATE('26/04/2011', '%d/%m/%Y');
但我不知道为什么下面一个是不是为我工作
SELECT STR_TO_DATE('11:59:59','%h:%i:%s');
上面的语句总是返回NULL,当我在phpMyAdmin的SQL控制台运行
我想只能用另一个时间线进行比较的时候,所以我用STR_TO_DATE
功能,我的时间字符串转换为日期时间格式
下面的语句工作正常,我,所以我认为MySQL的没有任何问题
SELECT STR_TO_DATE('26/04/2011', '%d/%m/%Y');
但我不知道为什么下面一个是不是为我工作
SELECT STR_TO_DATE('11:59:59','%h:%i:%s');
上面的语句总是返回NULL,当我在phpMyAdmin的SQL控制台运行
这是因为SQL模式确实NO_ZERO_DATE
。 你应该已经看到,当阿南德Rockzz链接到手动,但这种联系仅仅是解释的一半。 在MySQL 5.7.4中,设置已被弃用。 在你的第一个例子,你设定的日期; 在第二个, NO_ZERO_DATE
导致NULL的回报,因为你没有指定具体的日期。 与5.7.8开始, NO_ZERO_DATE
和NO_ZERO_IN_DATE
已包含在默认的sql_mode值。 根据手册 ,它看起来好像弃用和删除已部分恢复(带有5.7.8开始),所以您可以明确设置这个在您my.cnf
(或每个会话)。
你也应该参照说明书关于NO_ZERO_DATE指令。