datediff month问题

hubinasm 2012-02-07 01:58:21
为什么select datediff(MONTH,'2011-5-21','2011-11-30')为6
而select datediff(month,'2011-5-21','2011-12-1')为7呢?
求解释?
...全文
349 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxfjoy 2012-02-08
  • 打赏
  • 举报
回复

dateDiff(Month,date1,date2)计算月 ,
dateDiff(day,date1,date2) 计算日
习惯就好 2012-02-08
  • 打赏
  • 举报
回复
DateDiff 你要比较的是月份:最后一个12月和5月比较 12-5=7
不要和天数混淆了

[Quote=引用楼主 hubinasm 的回复:]
为什么select datediff(MONTH,'2011-5-21','2011-11-30')为6
而select datediff(month,'2011-5-21','2011-12-1')为7呢?
求解释?
[/Quote]
Emory1949 2012-02-08
  • 打赏
  • 举报
回复
11-5=6 ,12-5=7 datepart is month,所以以月为单位
shuohuameijiang 2012-02-07
  • 打赏
  • 举报
回复
dateDiff(Month,date1,date2)只算月的部分,
dateDiff(day,date1,date2) 只算日的部分
cainiaoiswo 2012-02-07
  • 打赏
  • 举报
回复
DateDiff(Month,A,B)只计算月份的差
  • 打赏
  • 举报
回复
你前面写的是月,当然也就值计算月份了,虽然日期差的不大,但执行的时候只取月的部分计算,不看后面的天数
wfkmu 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 szstephenzhou 的回复:]
SQL code

dateDiff(Month,date1,date2)计算月 ,
dateDiff(day,date1,date2) 计算日
[/Quote]
+++
紫竹林畔 2012-02-07
  • 打赏
  • 举报
回复
'2011-11-30'
'2011-12-1'
是不是差一个月

PS:当比较月时候忽略日的部分
yusheng622 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shuohuameijiang 的回复:]
dateDiff(Month,date1,date2)只算月的部分,
dateDiff(day,date1,date2) 只算日的部分
[/Quote]
顶!
勿勿 2012-02-07
  • 打赏
  • 举报
回复
dateDiff(Month,date1,date2)计算月 ,
dateDiff(day,date1,date2) 计算日
回头是岸 2012-02-07
  • 打赏
  • 举报
回复
那就用时间戳吧
Vidor 2012-02-07
  • 打赏
  • 举报
回复
11-5
12-5

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧