gpt4 book ai didi

mysql 将字符串 'now()' 视为日期时间?

转载 作者:行者123 更新时间:2023-11-29 02:48:46 29 4
gpt4 key购买 nike

我有一个错误构造的查询,将函数“now()”作为字符串包含在内:

 select Listing.id,Listing.reactivated FROM `listings` AS Listing  WHERE Listing.reactivated < 'now()';

但实际上这个查询能够使用 mysql 5.5 返回正确的结果:

|  26662 | 2007-06-04 21:42:51 |
| 26663 | 2007-06-04 21:46:34 |

实际上,有几个日期函数,即使没有括号也能工作;像 'now' 或 'curdate',但一个简单的“select 'now()';”将返回一个字符串。

其实我在把 Mysql 升级到 MariaDB 10.1 的时候就注意到了,上面的查询结果是 null set,并且警告:

| Warning | 1292 | Incorrect datetime value: 'NOW()' |

我知道我们应该修复查询 :),但我想问一下是否有人知道这背后的原因,何时更改,以及是否可以配置此行为?

最佳答案

不要使用引号:'NOW()';只需说 NOW()

前者是一个字符串,它不是一个有效的日期时间。 (同上 'NOW''XYZ'。)

关于mysql 将字符串 'now()' 视为日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466893/

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