mysql 判断时间大于24小时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 判断时间大于24小时相关的知识,希望对你有一定的参考价值。
select * from send_user where send_time>24小时 order by id descsend_time的数据类型是datetime请问判断时间大于24小时的sql应该怎么写?
1、首先打开SQLyogEnt软件,打开SQLyogEnt的Query窗口,之后的sql语句都会在这里执行。
2、书写sql:select now(); 查询出当前的时间:2018-06-08 13:32:22;now函数为mysql的当前日期函数。
3、书写sql:select date_format(now(),'%Y-%m-%d'); 查询出的时间格式为:2018-06-08;%Y和%y的区别则是:前者查询出完整2018,后者则是查询简写的18。
4、书写sql:select curdate(); 查询出当前日期2018-06-08,不带时分秒。
5、书写sql:select curtime(); 查询出当前时间13:40:11,不带年月日。
6、最后书写sql:select dayofweek(now());查询出一个数字,代表着星期;星期的排列方式为:星期日:1;星期一:2;...以此类推。
参考技术A 目测, 你这个需求, 可能是要求send_time 与 现在 之间的时间 间隔 大于 24小时。
你可以尝试一下
WHERE
HOUR( timediff( now(), send_time) ) 〉 24
下面是 测试的 例子:
mysql> SELECT
-> now() AS `现在`,
-> timediff( now(), '2013-03-28 20:00:00') AS `时间间隔`,
-> HOUR( timediff( now(), '2013-03-28 20:00:00') ) AS `小时数`;
+---------------------+----------+--------+
| 现在 | 时间间隔 | 小时数 |
+---------------------+----------+--------+
| 2013-03-29 23:04:34 | 27:04:34 | 27 |
+---------------------+----------+--------+
1 row in set (0.00 sec) 参考技术B 首先你要取出当前时间来减去send_time,然后在判断是否大于24小时 参考技术C 应该先算出 从开始到结束 的时间和,然后判断是否大于24
例如 22 -10 = 10 程序里面取整数或者小数 22.5-10.5 =10 22.3 - 10.2 = 10.1
个人认为是这样,祝你顺利!
告警系统
邮件脚本 放到/mail/mail.py
gserver 发邮件的服务
mail.sh 收揽时间控制脚本
t_s 当前时间的时间戳
t_s2 两个小时以前的时间戳
差值大于两个小时
判断log 是否存现
然后把时间戳写到日志里面
大于3600然后发邮件
第一次结束之后
定时任务每分钟执行一次
再次执行
文件存在
ts_s2是上次的时间戳 变量更新 tail -1
小与3600
执行另一种情况
不大于10计数写入日志
t_s2两个小时之前的时间戳
如果计时大于10 发邮件
还有一种情况
第一次告警之后
再不满十分钟的时候恢复正常 然后到后续几分钟又告警
时间戳的差值一个小时会大于3600会情况计时
然后又进入10分钟计时周期
运行告警系统
定时任务每分钟一次
执行
以上是关于mysql 判断时间大于24小时的主要内容,如果未能解决你的问题,请参考以下文章