+ -
当前位置:首页 → 问答吧 → @@@@@@@@@@@@@ 关于datediff的问题,请高手解答 @@@@@@@@@@@@@@

@@@@@@@@@@@@@ 关于datediff的问题,请高手解答 @@@@@@@@@@@@@@

时间:2011-11-11

来源:互联网

select datediff(dd,'201101','201111')
结果是10

但是 select datediff(dd,'201012','201111')
结果却是30

无法理解这两个结果。

请高手解答下为什么datediff这个函数用dd的时候
结果会出现这两个。

作者: hants0528   发布时间: 2011-11-11

非正常状态下的测试是无意义的.

作者: qianjin036a   发布时间: 2011-11-11

你最好每个日期数字后面加个'01'

作者: ssp2009   发布时间: 2011-11-11

不解释,没意义!

作者: AcHerat   发布时间: 2011-11-11

select datediff(dd,'201101'+'-01','201111'+'-01')
才有意义

作者: fredrickhu   发布时间: 2011-11-11

我在补充一下。

select datediff(dd,'201101','201111')
结果是10

select datediff(dd,'201102','201111')
结果是9




select datediff(dd,'201110','201111')
结果是1

作者: hants0528   发布时间: 2011-11-11

引用 1 楼 qianjin036a 的回复:

非正常状态下的测试是无意义的.


引用 3 楼 acherat 的回复:

不解释,没意义!


+

作者: OrchidCat   发布时间: 2011-11-11

引用 5 楼 hants0528 的回复:

我在补充一下。

select datediff(dd,'201101','201111')
结果是10

select datediff(dd,'201102','201111')
结果是9




select datediff(dd,'201110','201111')
结果是1


是这样就对了  
不是没意义 是你这里的 
201110 压根就不是 2011年 10月


SQL code
select cast ('201110' as datetime)
select cast ('201111' as datetime)

作者: Beirut   发布时间: 2011-11-11

SQL code

select datediff(d,'201012', '201111'), 
       convert(datetime,'201012'),convert(datetime,'201111')
go

--结果:30 2020-10-12 00:00:00.000    2020-11-11 00:00:00.000


201012 为 2020-10-12
201111 为 2020-11-11

作者: misterliwei   发布时间: 2011-11-11

SQL code
--默認為
SELECT 
CAST('201101' AS DATETIME) AS '20201101',
CAST('201111' AS DATETIME) AS '20101111'


SELECT 
CAST('201012' AS DATETIME) AS '20101012',
CAST('201111' AS DATETIME) AS '20101112'

作者: roy_88   发布时间: 2011-11-11

201111--這是滿足日期格式的

作者: roy_88   发布时间: 2011-11-11

热门下载

更多