mysql 判断时间是否有 小时

mysql 判断时间是否有 小时,第1张

这个要有个前提的

要求你那个 MySQL 里面, time 那一列的数据类型, 是 DATETIME 或者 TIME

如果数据类型是 DATE , 那就彻底没办法了:

注:MySQL 日期时间数据类型

DATE

日期。支持的范围为’1000-01-01’到’9999-12-31’。

MySQL以’YYYY-MM-DD’格式显示DATE值,但允许使用字符串或数字为DATE列分配值。

DATETIME

日期和时间的组合。

支持的范围是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。

MySQL以’YYYY-MM-DD HH:MM:SS’格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。

TIME

时间。范围是’-838:59:59’到’838:59:59’。

MySQL以’HH:MM:SS’格式显示TIME值,但允许使用字符串或数字为TIME列分配值。

SQL 语句的 WHERE 部分可以这么写

WHERE

Hour( time ) = 1

OR ( Hour( time ) = 2 AND MINUTE( time) = 0 AND Second (time ) = 0 )

可以借助于mysql的日期函数,这里提供下SQL的思路:

SELECT u.hour,

COUNT(*)

FROM (SELECT 获取create_time的小时部分 AS hour

FROM user

WHERE 获取create_time的日期部分 = 某个日期) u

GROUP BY u.hour

具体的mysql日期函数可以查一下API。

select curDate()#获取当前日期select curTime()#获取当前时间select now()#获取当前日期+时间

列举1个天数加减的例子,其他的看英文意思就可以理解了

select date_add(now(), interval 1 day) #当前日期天数+1

select date_add(now(), interval -1 day) #当前日期天数-1

select date_add(now(), interval 1 hour)

select date_add(now(), interval 1 minute)

select date_add(now(), interval 1 second)

select date_add(now(), interval 1 microsecond)

select date_add(now(), interval 1 week)

select date_add(now(), interval 1 month)

select date_add(now(), interval 1 quarter)

select date_add(now(), interval 1 year)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6179487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存