Heim  >  Artikel  >  Datenbank  >  mysql中datetime比较大小疑点

mysql中datetime比较大小疑点

WBOY
WBOYOriginal
2016-06-07 16:25:511452Durchsuche

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' 这么写不报错,但得出结果不准确 方法

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

这么写不报错,但得出结果不准确



方法一:

你也可以:
select * from t1 where unix_timestamp(time1) > unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(time1) 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列名)

三种方法待求证,总之是不要用字符串这么直接比



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn