gpt4 book ai didi

mysql - ANSI 92 日期差异在 MySQL 中不起作用

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

我正在尝试使用 ANSI SQL 标准计算两个日期之间的天数。但是我遗漏了一些东西,因为此语句在 MySQL 中返回 NULL。

SELECT EXTRACT(DAY FROM DATE('2009-01-25') - DATE('2009-01-01')) AS day_diff;

我知道 MySQL DATEDIFF 函数,但我很好奇为什么这段代码不起作用。

我错过了什么?

最佳答案

这是你想做的吗?

mysql> SELECT EXTRACT(DAY FROM DATE('2009-01-25')) - 
EXTRACT(DAY FROM DATE('2009-01-01')) AS day_diff;
+----------+
| day_diff |
+----------+
| 24 |
+----------+
1 row in set (0.00 sec)

更新:

如果您希望它适用于不同月份(甚至不同年份)的日期,那么您可以使用 MySQL DATEDIFF() 函数。

例子:

mysql> select datediff('2009-04-25','2009-01-01');
+-------------------------------------+
| datediff('2009-04-25','2009-01-01') |
+-------------------------------------+
| 114 |
+-------------------------------------+
1 row in set (0.00 sec)

mysql> select datediff('2010-04-25','2009-01-01');
+-------------------------------------+
| datediff('2010-04-25','2009-01-01') |
+-------------------------------------+
| 479 |
+-------------------------------------+
1 row in set (0.00 sec)

关于mysql - ANSI 92 日期差异在 MySQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165457/

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