SQL 获得两个时间段之间的数据

时间:2024-01-19 18:21:32

一般保存在数据库中的日期精度很高,比如'2014-04-15 16:31:22.000'

而一般用户选择的时间精度是精确到日的,比如'2012-04-15'

所以你想取出两个日期之间的数据,如果用下面的语句

select * from your_table where date_field between '2014-04-15' AND '2014-04-15'

其实系统会转化为

select * from your_table where date_field between '2014-04-15 00:00:00.000' AND '2014-04-15 00:00:00.000'

所以你根本取不出数据

知道了这个细节,解决办法就很多

可以

select * from your_table where date_field between '2014-04-15' AND '2014-04-16'

这样就取得是 '2014-04-15'这一天的记录