mysql 判断时间大于24小时
select dtime,name from(select name,dtime,rank,ptime,ptime2 from(select cg_tmp.*, @rownum :=@rownum + 1,if(TIMESTAMPDIFF(MINUTE, @ptime,cg_tmp.dtime)<5,@rank:=@rank ,@rank:=@rank+1) as rank,@ptime2:=cg_tmp.dtime as ptime2,if(TIMESTAMPDIFF(MINUTE, @ptime,cg_tmp.dtime)<5,@ptime=null,@ptime:=@ptime2) as ptime from(select * from `timerecord` order by dtime) cg_tmp,(select @rownum :=0 , @ptime := null ,@rank:=0,@ptime2 := null) a) result) awhere ptime is not null
以前回答过类似的时间间隔问题。
sql中直接通过字符串比较就可以了
比如: xxx_time >= '2019-04-15 23:59:59'
如果是java的时间比较的方式就比较多了。
转成date类型比较是比较常见的方式,或long类型的时间戳方式,或这统一格式的字符串方式、
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;...以此类推。
目测, 你这个需求, 可能是要求
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)
首先你要取出当前时间来减去send_time,然后在判断是否大于24小时
应该先算出 从开始到结束 的时间和,然后判断是否大于24
例如 22 -10 = 10 程序里面取整数或者小数 22.5-10.5 =10 22.3 - 10.2 = 10.1
个人认为是这样,祝你顺利!
初俭盐酸: 首先你要取出当前时间来减去send_time,然后在判断是否大于24小时
运城市18596841950: mysql查询时间超过24小时的所有数据,怎么查 - ?
初俭盐酸: 应该先算出 从开始到结束 的时间和,然后判断是否大于24 例如 22 -10 = 10 程序里面取整数或者小数 22.5-10.5 =10 22.3 - 10.2 = 10.1 个人认为是这样,祝你顺利!
运城市18596841950: Mysql 中我想判断时间字段在 起始时间(只有小时:例如 06:00)到25小时以后的时间段中的记录数 - ?
初俭盐酸: SELECT count(1)as count,ar.employee_id from app_user ar where HOUR( ar.time) BETWEEN 6 AND 23 GROUP BY ar.employee_id HAVING count > '1'; ;
运城市18596841950: 怎么判断从数据库里取出的时间距当前服务器时间是否超过一天 - ?
初俭盐酸: 以SQL Server数据库为示例,可以使用系统函数DATEDIFF比较两个日期的小时差,小时差超过24小时即超过一天了.SQL语句示例: --使用系统函数DATEDIFF比较两个日期的时间差,以下示例是比较2017-03-07 23:59:59与当前时间的小时差 SELECT DATEDIFF(hour, '2017-03-07 23:59:59.9999999' , GETDATE());SQL语句示例执行结果图:DATEDIFF函数使用说明如下图(详细可查看Microsoft SQL Server Management Studio中的教程):
运城市18596841950: 如何让mysql按24小时制显示时间 - ?
初俭盐酸: SQL没办法得到当前的时间戳 除非你是用服务器脚本语言 追问: SELECT count(*) FROM `ip11` WHERE DATE_FORMAT(NOW(),'%H')-DATE_FORMAT(time_tip,'%H')=1 and TO_DAYS( NOW( ) ) - TO_DAYS(time_tip)=1 可以的我写的这个就可以的
运城市18596841950: 用SQL语句判断两个时间 差>24小时?
初俭盐酸: 你可以用datediff...具体用法为datediff(hour,time1,time2)
运城市18596841950: mysql怎么判断时间大小啊 - ?
初俭盐酸: 你的数据库字段为datetime 就用 小于
运城市18596841950: 怎么查询数据库中大于某个时间段的数据 - ?
初俭盐酸: select * from 表名 where 日期列名 between '开始时间' and '结束时间' 查询字段日期列在开始时间(含)至结束时间(含)之间表名的记录. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集).
运城市18596841950: 判断一个文件更新时间和当前时间是不是相差24小时 - ?
初俭盐酸: 很简单,把这段代码放入body里面就行了:<br><div><br><script type="text/javascript"><br>hour = new Date().getHours()<br>if (hour> 24)<br>{alert("现在时间大于24小时")}<br>else {<br>{alert("现在时间还没到24小时")}<br>}<br>document.write('现在是'+hour +'小时');<br></script><br></div>
运城市18596841950: 关于MYSQL时间对比函数的问题 - ?
初俭盐酸: date_sub是mysql函数,全部用unix时间格式表示,意思是查询时间比现在还要大一天的记录