gpt4 book ai didi

MySQL CURDATE() -1

转载 作者:可可西里 更新时间:2023-11-01 06:58:37 24 4
gpt4 key购买 nike

拜托,我不明白为什么这个命令返回 00 April

今天是 2015 年 4 月 1 日,执行:

mysql> SELECT CURDATE() -1;

它返回:

| 20150400 |

+--------------+

为什么 CURDATE-1 不返回 3 月 31 日?,

00 April 是个错误,如果有人能解释一下就好了。

接下来,在 4 月 2 日,它运行良好,对于该月的其余日子也是如此:

MySQL>

select CURDATE() -1;

| 20150401 |

此函数似乎无法在当前月份范围之外使用 +x/-x 进行操作。

这应该在引用指南中突出显示。

顺便说一句,我用这个新函数替换了它:

 SELECT SUBDATE(CURDATE(),1)

谢谢。

最佳答案

您需要使用 CURDATE() - INTERVAL 1 DAY

您对 CURDATE() - 1 所做的是将 CURDATE() 的结果视为整数,而不是日期。

所以在 4 月 1 日,CURDATE() - 1 = 20150401 - 1 = 20150400,这显然是一个无效日期。

MySQL 无法凭直觉知道这一点,因为对于 -1,它不知道您的意思是少一天、少一个月、少一年,等等。

如上使用 MySQL 的日期间隔是正确的方法。

关于MySQL CURDATE() -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409679/

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