Mysql随时间23:59:59获取当前日期

时间:2016-01-26 12:40:50

标签: mysql sql sql-server

如果我执行

select current_date;

这将给出当前日期。

如果我必须在23:59:59获得当前日期,那么它将在当天结束。

在SQL Server中,我使用了

Select CAST(CONVERT(VARCHAR(10), GETDATE(), 110) + ' 23:59:59' AS   
DATETIME;

2 个答案:

答案 0 :(得分:5)

一种方法是添加秒:

select date_add(CURDATE(), interval 24*60*60 - 1 second)

另一种方法是addtime()

select addtime(CURDATE(), '23:59:59')

答案 1 :(得分:3)

只有在相关日期时间/时间戳记中的时间设置为00:00:00时(CURDATE()CURRENT_DATE的情况下,才能添加1天1秒的间隔)。< / p>

但是,如果您需要将日期时间/时间戳设置为2021-08-05 02:00:00,则上述方法将产生2021-08-06 01:59:59

在这种情况下,您可以使用DATE_FORMAT:

SELECT expire_at, DATE_FORMAT(expire_at, "%Y-%m-%d 23:59:59")
FROM coupons;

(在MySQL 8.0.18上测试)