如果我执行
select current_date;
这将给出当前日期。
如果我必须在23:59:59获得当前日期,那么它将在当天结束。
在SQL Server中,我使用了
Select CAST(CONVERT(VARCHAR(10), GETDATE(), 110) + ' 23:59:59' AS
DATETIME;
答案 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上测试)