SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
查询column_name的值介于value1和value2之间的 column_name(s)集合,这一句大家都很明白,清楚肯定会说这不是废话吗?有些东西我想初学者还是模糊着,因为有时候一认真你就输了,所以小伙伴还是需要把根基打牢靠。
2.1 实数型列的过滤
select * from ITEM where ITEM_ID between 1 and 10
--ITEM_ID数据类型为INT,返回结果集为如图所示:
2.2 日期型列的过滤
select * from FORKLIFT_TASK where TASK_DATE between ‘2014-01-13‘ and ‘2014-01-13‘
----TASK_DATE 为日期型列【DATE】型数据,返回结果集为:
2.3.长日期型列的过滤
select * from FORKLIFT_TASK where CREATION_DATE between ‘2014-01-13‘ and ‘2014-01-13‘
--CREATION_DATE 【DATETIME】型数据,返回结果集如下所示:
为什么返回的是0行数据呢?
然后我们来更换一种SQL的书写方式:
select * from FORKLIFT_TASK where CREATION_DATE between ‘2014-01-13‘ and ‘2014-01-13 23:59:59‘
返回结果集为:88行。就是加了个"23:59:59"导致查询结果为88行,表明between……and……如果在DATETIME类型的数据查询中需要加时分秒,在DATE型中可加时分秒可不加时分秒。待续……
原文:http://blog.csdn.net/jsjyuchengyong/article/details/18266135