mysql进行时间比较大小_Mysql中时间加减和比较大小的方法

在Oracle中使用时间函数to_date习惯了,在Oracle中时间的加减也非常简单,直接加减即可。在Mysql中时间的函数很多,非常自由。     在项目中经常用到的就是时间的加减。     比如60天前,Oracle中直接就是sysdate-60,Mysql中就不行。     对时间加减的函数是     加ADDDATE(),减SUBDATE();     select SUBDATE(now(),interval 60 day); 60天前的时间      select ADDDATE(now(),interval 60 day); 60天后的时间    在Oracle中经常用到trunc(sysdate,'D'),截取到天或者到小时。    在Mysql中可以用date_format()来代替。返回的是时间格式的字符串,也是时间    在Mysql中只要符合时间格式的字符串就可以当做Date类型。    取今天时间到天,    mysql> select DATE_FORMAT(now(),'%Y%m%d'); +-----------------------------+ | DATE_FORMAT(now(),'%Y%m%d') | +-----------------------------+ | 20100611                    | +-----------------------------+ 1 row in set (0.00 sec) 取到小时。 mysql> select DATE_FORMAT(now(),'%Y%m%d%H'); +-------------------------------+ | DATE_FORMAT(now(),'%Y%m%d%H') | +-------------------------------+ | 2010061121                    | +-------------------------------+ 1 row in set (0.00 sec) Mysql中直接比较时间大小也是不能用>或< 只能转换成数字来比较大小。 如果比较天的大小,1号小于2号。需要转换成到现在为止的天数。用到的是to_days(), mysql> select to_days('20100602'); +---------------------+ | to_days('20100602') | +---------------------+ |              734290 | +---------------------+ 1 row in set (0.00 sec) mysql> select to_days('20100603'); +---------------------+ | to_days('20100603') | +---------------------+ |              734291 | +---------------------+ 1 row in set (0.00 sec) 如果时间的比较很精确,精确到时秒分就需要转换成UNIX_TIMESTAMP,换算成毫秒值来比较大小。 mysql> select UNIX_TIMESTAMP('201006021700'); +--------------------------------+ | UNIX_TIMESTAMP('201006021700') | +--------------------------------+ |                     1601921820 | +--------------------------------+ 1 row in set (0.00 sec) mysql> select UNIX_TIMESTAMP('201006021800'); +--------------------------------+ | UNIX_TIMESTAMP('201006021800') | +--------------------------------+ |                     1601921880 | +--------------------------------+ 1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值