加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

between..and在时间区间上的用法注意事项

(2010-10-09 11:17:30)
标签:

杂谈

分类: SQL Server

 

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,就没有包含

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有