mysql - SQL - 获取下一个半小时

标签 mysql sql date

<分区>

我希望能够通过以下方式创建时间: 例如,如果 now() 在 09:00:00 到 09:29:00:00 之间,那么新时间将为 09:30:00。 如果 now() 在 09:30:00 到 09:59:00 之间,那么新时间将为 10:00:00。

知道怎么做吗?

最佳答案

来自 How to round a DateTime in MySQL? :

当您使用日期时间数据类型时,这有点令人讨厌;存储函数的一个很好的候选者。

DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time), 30) MINUTE), 
         INTERVAL SECOND(time) SECOND)

使用 UNIXTIME 时间戳会更容易,但仅限于 1970 - 2038 日期范围。

FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time), 1800))

祝你好运。

关于mysql - SQL - 获取下一个半小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676817/

相关文章:

php - mysql_insert_id 即使在成功插入后也返回 0

mysql - 使用触发器对表执行插入或更新

php - 如何从另一个表列链接表列?

php - 如何在php中将PHP日期转换为Mysql日期格式?

php - mysql_real_escape_string 不够好?

php - 灵活的数据过滤器

unix - 如何将 UNIX 命令日期附加到 echo 语句

sql - 将 15 分钟间隔转换为每小时间隔的 Postgres 查询

mysql - 从现有数据库生成具有点类型属性的实体

当我只想要一行时,SQL JOIN 返回多行