gpt4 book ai didi

MySQL 查询将 NOW() 与 ISO 字符串进行比较

转载 作者:行者123 更新时间:2023-11-29 09:24:43 25 4
gpt4 key购买 nike

我想确认 NOW 函数在 MySQL 中的工作原理

根据文档,当运行此查询SELECT NOW()时,mysql按以下格式返回当前时间(我猜是本地时间?)YYYY-MM-DD HH- MM-SS.

如果是这种情况,那么当将 NOW() 与包含 UTC ISO 日期和时间的列进行比较时,这是如何工作的?

例如,这工作正常:

SELECT * FROM table where deadline > NOW() # deadline column contains a utc ISO string

上面的查询可靠还是只是幸运地返回了正确答案?

如果这不可靠,你会如何进行比较?

最佳答案

MySQL NOW() - 函数返回 session 时区中的日期时间。 MySQL 有 UTC_TIMESTAMP() 函数,它返回当前 UTC 日期和时间,当您将其与 UTC 日期时间进行比较时,该函数会更好地工作。

请注意,您应该将日期时间存储为 DATETIME,而不是 char/varchar(假设这就是您所说的“UTC ISO 日期和时间”)。

关于MySQL 查询将 NOW() 与 ISO 字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59802360/

25 4 0
文章推荐: arrays - Bash 数组 : Need help with white space
文章推荐: java - Moodle with Java 或任何其他符合此要求的 LMS
文章推荐: bash - 单独执行目录中的所有文件
文章推荐: java - 为什么 jboss 从返回结构数组的 Coldfusion webservice 中看到一个空的 List