MySQL str_到_日期时间转换失败
我有以下声明,在MySQL的其他安装中,似乎工作正常并返回时间,而现在返回NULL(根据,这意味着转换失败): 但根据docs的说法,“它需要字符串str和格式字符串format.str_to_DATE()如果格式字符串同时包含日期和时间部分,则返回日期时间值;如果字符串仅包含日期或时间部分,则返回日期或时间值”。 如前所述,它在以前的版本中工作,我有其他安装了5.7的人告诉我它对他们有效 有关本地MySQL版本的信息:MySQL str_到_日期时间转换失败,mysql,str-to-date,Mysql,Str To Date,我有以下声明,在MySQL的其他安装中,似乎工作正常并返回时间,而现在返回NULL(根据,这意味着转换失败): 但根据docs的说法,“它需要字符串str和格式字符串format.str_to_DATE()如果格式字符串同时包含日期和时间部分,则返回日期时间值;如果字符串仅包含日期或时间部分,则返回日期或时间值”。 如前所述,它在以前的版本中工作,我有其他安装了5.7的人告诉我它对他们有效 有关本地MySQL版本的信息: mysql> SHOW VARIABLES LIKE "%versi
mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+-------------------------+
| Variable_name | Value |
+-------------------------+-------------------------+
| innodb_version | 5.7.20 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.20-0ubuntu0.16.04.1 |
| version_comment | (Ubuntu) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-------------------------+
安装是“开箱即用”,LinuxMint,没有任何调整。
有人知道为什么它不起作用吗?Doh,只是需要进一步阅读文档,似乎: 如果启用了NO_ZERO_DATE或NO_ZERO_IN_DATE SQL模式,则不允许使用零日期或部分日期。在这种情况下,STR_TO_DATE()返回NULL并生成警告:
mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+-------------------------+
| Variable_name | Value |
+-------------------------+-------------------------+
| innodb_version | 5.7.20 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.20-0ubuntu0.16.04.1 |
| version_comment | (Ubuntu) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-------------------------+