mysql中datetime比较大小问题
mysql中datetime比较大小问题
python-yzw 发表于10个月前
mysql中datetime比较大小问题
  • 发表于 10个月前
  • 阅读 57
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: mysql

mysql中datetime比较大小问题


select sum(studychj) as tofflinejz from afterline where checkflag=1 and studytype=1 and studybegin>='2010-01-01 00:00:00' and studyend<='2010-12-01 00:00:00' and username='01009'
这么写不报错,但得出结果不准确

方法一:
select * from t1 where unix_timestamp(time1) > unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(time1) < unix_
timestamp('2011-03-03 17:39:52');
就是用unix_timestamp函数,将字符型的时间,转成unix时间戳。个人觉得这样比较更踏实点儿。

方法二:

time1 between '2011-03-03 17:39:05' and '2011-03-03 17:39:52';

方法三:

可以讲datetime类型转换成date类型再进行比较
例如:convert(date,表名.datetime列名) >= convert(date,表名.datetime列名)

三种方法待求证,总之是不要用字符串这么直接比因为如果查询的日期时间不存在时,如:'2011-02-30 17:39:52',因为2月没有30日,时间会变为'0000-00-00 00:00:00',实际使用中只要数据定义的类型为datetime,系统默认会先转同样的类型再比较的

 

标签: mysql datetime
共有 人打赏支持
粉丝 4
博文 68
码字总数 31181
×
python-yzw
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: