mysql中的时间的查询

一般来说,我们在mysql数据库纪录数据时间时,都会选择datatime类型,这样时间可以精确到秒。但随之而来的一个问题是,当我们要取得某一段时间内的数据内容会有一些时间转换上的麻烦,例如我们要取得2002年3月2日到2003年7月8日的这段时间的内容,我们第一个直觉就是应该将sql写成下面的形式:
1.   select * from yourdb where sj>='2013-6-6' and sj<= '2013-4-23'(这种格式的比较是采用字符串比较的方式,从左到右 比较的。)

  这样以来,我们取得数据内容就是2002年3月2日0点以后到2003年7月8日0点(也就是7月7号12点之前)之间的内容,这个当然不是我们想要的,所以需要使用mysql的时间函数to_days()来写这个sql:

2.  select * from yourdb where to_days(sj)>=to_days('2013-6-6) and sj<= to_days('2013-5-19)(此种采用是时间格式的比较方式)

 现在,我们所取得就是我们想要的结果了。
3.   SELECT * FROM t_ads  a WHERE  TO_DAYS(a.endDate) >  TO_DAYS(2013-04-23)(时间没有用单引号扩住,语法上没有错,但是查询的内容不对)
综述:处理时间的字段的时候 统一用单引号扩住,之后再用to_days处理一下,即可。(第二中方式)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值