MySQL的STR_TO_DATE功能时无法正常工作(MySQL STR_TO_DATE funct

2019-09-27 17:58发布

我想只能用另一个时间线进行比较的时候,所以我用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控制台运行

Answer 1:

这是因为SQL模式确实NO_ZERO_DATE 。 你应该已经看到,当阿南德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指令。



文章来源: MySQL STR_TO_DATE function not work for time