mySQL的datetime的时间间隔
2014-03-09 16:42
525 查看
mySQL比较两个datetime类型的时间间隔,以秒为单位:SELECTTIME_TO_SEC(TIMEDIFF('2009-02-0911:24:46','2009-02-09 10:23:46'));
先看SELECTTIMEDIFF('2009-02-09 11:24:46','2009-02-09 10:23:46')[/code]
01:01:00
SELECT TIME_TO_SEC('01:01:00')
3660
因此便知两个datetime数据之间相差的秒数。
如果我们考虑这两个datetime数据先用TIME_TO_SEC转化为各自秒数,再来相减,不是一样的效果吗?
SELECT TIME_TO_SEC('2009-02-09 11:24:46')-TIME_TO_SEC('2009-02-09 10:23:46')
3660[/code]
看似这种方法也ok,不过我们再观察一组数据,你就清楚为什么不能用这种方式来比较两个datetime数据之间的时间间隔了。
我们现在改用'2009-02-08 11:24:46'和'[code]2009-02-09 10:23:46'比较:
SELECT TIME_TO_SEC('2009-02-08 11:24:46')-TIME_TO_SEC('2009-02-09 10:23:46')
3660
奇怪了,左边参数已经比右边参数提早一天了,为什么秒数相减还是正值呢?
原来,TIME_TO_SEC只会把datetime数据的time部分转化为秒数,不会关心date谁大谁小,所以要比较两个datetime数据,先得TimeDiff一下,再转化为秒数,即开头写的:
SELECT TIME_TO_SEC(TIMEDIFF('2009-02-09 11:24:46','2009-02-09 10:23:46'));
如若转载,请说明出处!http://blog.csdn.net/xukunddp
相关文章推荐
- DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题
- mysql新建表datetime类型字段不能设置当前默认时间解决方法
- mysql 时间类型 timestamp和datetime
- 【mysql】datetime时间比较
- MYSQL时间类型datetime和timestamp的区别
- mysql datetime类型的时间用Java取出来展示会多出.0
- mybatis查询mysql的datetime类型数据时间差了14小时
- 【数据库-MySql】按时间间隔分组查询 group by count(*) date_format
- 用Mysql5.6出现时间问题Incorrect datetime value: '' for column 'createtime'
- MySQL-时间(time、date、datetime、timestamp和year)
- mysql int和datetime存放时间戳和时间日期对比
- MYSQL计算时间间隔TimeStampDiff()函数用法
- Django models通过DateTimeField保存到MySQL的时间的时区问题
- mysql数据Unix时间戳与C# DateTime时间类型互换
- MySQL时间字段究竟使用INT还是DateTime的说明
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- 解决mysql datetime 类型设置默认值的方法,即mysql TIMESTAMP(时间戳)详解
- Mysql 时间类型 DATETIME、DATE和TIMESTAMP类型
- mysql 计算两个时间的间隔
- 【YMGJ 2】时间格式转换:Unable to convert MySQL date/time value to System.DateTime