sql server日期计算,请大侠帮忙看看。
时间:2011-12-05
来源:互联网
select * from table1 where datediff(dd,a1,b1)>=0 and datediff(dd,a1,b1)<=10;
但是它求出:b1=2009-01-23 15:40:00.000 ,a1=2009-01-13 00:00:00.000 ,
这条记录。这不明显超过10天了么?
难道sql server中计算时只考虑天,不考虑小时吗?
请各位给予指导。
作者: Forcast457 发布时间: 2011-12-05
datediff(dd,expr1,expr2) 这里的day只考虑天数,不考虑时分秒,如果要精确,可以换算到下一位 比如10day等于240hour
作者: geniuswjt 发布时间: 2011-12-05
作者: ssp2009 发布时间: 2011-12-05
作者: ssp2009 发布时间: 2011-12-05
表 table1 有两个日期字段 a1,b1,我想求出b1与a1相差10天以内的记录。在sql server 中sql 如下:
select * from table1 where datediff(dd,a1,b1)>=0 and datediff(dd,a1,b1)<=10;
但是它求出:b1=2009-01-23 15:40:00.000 ,a1=2009-01-13 00:……
你这是按照天计算的.所以只考虑到天.
你也可以按照小时(楼上说的)来计算.datediff(hh,a1,b1)<=10*240
或者:
select * from table1 where datediff(dd,a1,b1)>=0 and
(datediff(dd,a1,b1)<=9 or (datediff(dd,a1,b1) = 10 and convert(varchar(8),a1,108)> convert(varchar(8),b1,108)));
作者: dawugui 发布时间: 2011-12-05
作者: fredrickhu 发布时间: 2011-12-05
作者: TravyLee 发布时间: 2011-12-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28