create table dt1
(
uid int,
uDT datetime
)
go
insert into dt1 values(1,'2007/1/17 13:00:00')
insert into dt1 values(1,'2007/1/17 11:00:00')
insert into dt1 values(1,'2007/1/17 19:00:00')
insert into dt1 values(1,'2007/1/17 23:00:00')
insert into dt1 values(1,'2007/1/17 00:00:00')
--Select uid,uDT From dt1
--Where uDT between '2007/1/17' and '2007/1/17'
---结果:
--只出现一行:2007-01-17 00:00:00.000
--这是由于如果between...and用在配合日期时间操作时,要特别注意时间的部分,如果在between...and区间仅写上日期部分,系统会自动把当天的“00:00:00”时间当成端点。
--如果要找出当天的所有数据,正确写法是必须要加上时间区间,其中特别要注意的是时间的起止是从“00:00:00”到“23:59:59”,切记没有所谓的“24:00:00”,如下才是对的:
Select uid,uDT From dt1
Where uDT between '2007/1/17 00:00:00' and '2007/1/17 23:59:59'
另外,between..and就有包含起始到终点的值在内,如果用not between,就没有包含