MySQL的GREATEST()和LEAST()函数是否适用于日期?

4

我正在使用MySQL处理日期,想知道是否可以使用GREATEST()和LEAST()函数。快速搜索并没有找到明显的答案,所以我来到stackoverflow寻求帮助。


选择 SELECT GREATEST(DATE('2015-03-01'),DATE('2014-03-01')), LEAST(DATE('2015-03-02'),DATE('2014-03-02')) 是否很困难? - symcbean
2个回答

4
是的!
mysql> SELECT start_date, end_date, GREATEST(start_date, end_date) FROM budgets LIMIT 1;
+------------+------------+--------------------------------+
| start_date | end_date   | GREATEST(start_date, end_date) |
+------------+------------+--------------------------------+
| 2015-08-01 | 2016-08-31 |                     2016-08-31 |
+------------+------------+--------------------------------+

mysql> SELECT start_date, end_date, LEAST(start_date, end_date) FROM budgets LIMIT 1;
+------------+------------+-----------------------------+
| start_date | end_date   | LEAST(start_date, end_date) |
+------------+------------+-----------------------------+
| 2015-08-01 | 2016-08-31 |                  2015-08-01 |
+------------+------------+-----------------------------+

1

请记住:

GREATEST(date1, date2)

如果其中任何一个为空,则无法工作。

GREATEST(COALESCE(date1, 0), COALESCE(date2, 0))

可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接