首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在mysql中从时间中查找下一个日期

如何在mysql中从时间中查找下一个日期
EN

Stack Overflow用户
提问于 2018-08-17 01:03:05
回答 3查看 527关注 0票数 1

我想知道在mysql查询中是否可以..当我说早上9点给我日期的时候..返回的答案是取决于当前时间,当它是上午8点时,它会给我今天的日期。当是晚上10点的时候,它会告诉我明天的日期。它是如何在mysql查询中实现的。

EN

回答 3

Stack Overflow用户

发布于 2018-08-17 01:15:43

您可以使用SUBSTRING_INDEX(CURTIME(), ':', 1)获取当前时间的小时数。

据我所知,你想要明天的日期,如果是晚上10点或更晚的话

举个例子:

代码语言:javascript
复制
SELECT 
CASE 
WHEN SUBSTRING_INDEX(CURTIME(), ':', 1) >= 22
THEN DATE_ADD(CURDATE(), INTERVAL 1 DAY)
ELSE CURDATE()
END

来源:http://www-db.deis.unibo.it/courses/TW/DOCS/w3schools/sql/sql_dates.asp.html

票数 1
EN

Stack Overflow用户

发布于 2018-08-17 01:22:34

您可以使用HOUR函数从给定的日期时间表达式中获取小时值。CURDATE()函数用于返回当前日期。你可以添加/减去‘整数’,得到与当前日期对应的日期+/-‘整数天’。假设time >= 10 pm第二天返回:

代码语言:javascript
复制
SELECT IF(HOUR(`datetime_field`) > 22, CURDATE(), CURDATE() + 1);
票数 1
EN

Stack Overflow用户

发布于 2018-08-17 07:07:30

你可以再加两个小时

代码语言:javascript
复制
SELECT DATE(DATE_ADD(NOW(), INTERVAL 2 HOUR));

这将返回明天晚上10点以后的任何时间的日期

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51882084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档