gpt4 book ai didi

mysql - str_to_date 在一个数据库上无法工作,而在另一个数据库上工作正常

转载 作者:行者123 更新时间:2023-11-29 17:39:14 25 4
gpt4 key购买 nike

我的服务器上有 1 个实时数据库 (v5.5.58),我的计算机上有一个本地数据库 (v8.0.11),用作测试数据库。

SELECT STR_TO_DATE("12:21:21", "%H:%i:%s")

在服务器上运行此查询工作正常,而同一查询在本地返回日期为 null 并显示警告:

Warning: #1411 Incorrect datetime value: '12:21:21' for function str_to_date

我知道 STR_TO_DATE 适用于 MySql 版本 3.23,因此它应该适用于版本 8,对吧?

最佳答案

@@SQL_MODE您的服务器之间的设置有所不同。从 5.6 开始,MySQL Server 对 @@SQL_MODE 使用了更严格的默认值。

If the NO_ZERO_DATE or NO_ZERO_IN_DATE SQL mode is enabled, zero dates or part of dates are disallowed. In that case, STR_TO_DATE() returns NULL and generates a warning

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date

相同的信息出现在以前版本的文档中。

您通常可以通过更改 @@SQL_MODE 来更改较新的服务器来模拟旧服务器的行为(通常是宽容的,有时是错误的)以匹配,但这样做时要谨慎,因为更严格行为通常也更正确,有助于避免对无效值进行无声强制。

关于mysql - str_to_date 在一个数据库上无法工作,而在另一个数据库上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50086642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com