【发布时间】:2021-09-14 15:22:52
【问题描述】:
我正在比较自 MySQL does support that 以来的日期时间和时间戳。
假设在日期时间 B 创建了一条记录,我有两个时间戳 A 和 C,其中 A 早 2 分钟,C 晚 2 分钟。
MySQL 给出:A 1(真); B 0 (假);
如何在没有显式转换的情况下解决此问题?
【问题讨论】:
标签: mysql
我正在比较自 MySQL does support that 以来的日期时间和时间戳。
假设在日期时间 B 创建了一条记录,我有两个时间戳 A 和 C,其中 A 早 2 分钟,C 晚 2 分钟。
MySQL 给出:A 1(真); B 0 (假);
如何在没有显式转换的情况下解决此问题?
【问题讨论】:
标签: mysql
事实证明 MySQL 并没有将整数转换为时间戳,因为它在 docs 中声明。
如果其中一个参数是 TIMESTAMP 或 DATETIME 列,而另一个参数是常量,则该常量会在执行比较之前转换为时间戳。
在实践中,MySQL 通过以下方式将 DATETIME 列转换为整数:
假设 DATETIME 列 A 的值为 2021-09-14 15:11:13;当我们执行SELECT A > 1; 时,DATETIME 会隐式转换为20210914151113。
【讨论】: