求一SQL查询语句!求两时间段之间的月份差值!

hmq1012 2011-06-21 11:46:53
比如一个表中间有两个时间的字段,date1(2011-6-1)和date2(2010-6-1),那样的话查询出来的月份差就是12,那请问这样的查询语句如何写呢?
...全文
1229 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgqiang_304 2011-06-21
  • 打赏
  • 举报
回复
简单计算:
差额=(year(d1)-year(d2))*12+month(d1)-month(d2)
叶子 2011-06-21
  • 打赏
  • 举报
回复

declare @table table(date1 datetime,date2 datetime)
insert into @table
select '2011-6-1','2010-6-1'

select abs(datediff(month,date1,date2)) from @table
/*
12
*/
Scofield_jieyitong 2011-06-21
  • 打赏
  • 举报
回复
select * from [table_name]where datediff(m,'2010.6.1','2011.6.1')=12
AcHerat 2011-06-21
  • 打赏
  • 举报
回复



select datediff(mm,@date1,@date2)
AcHerat 2011-06-21
  • 打赏
  • 举报
回复


-- day
select .. from tb where date between @date1 and @date2


-- month
select .. from tb where convert(varchar(7),date,120) between convert(varchar(7),@date1,120) and convert(varchar(7),@date2,120)
叶子 2011-06-21
  • 打赏
  • 举报
回复
select datediff([month],date1,date2)
-晴天 2011-06-21
  • 打赏
  • 举报
回复
select datediff(m,'2010-6-1','2011-6-1')
/*
-----------
12

(1 行受影响)

*/(
javatemptation 2011-06-21
  • 打赏
  • 举报
回复

select DATEDIFF(M,'2010-06-01','2011-06-01');
--小F-- 2011-06-21
  • 打赏
  • 举报
回复
select datediff(mm,date1,date2) from tb 

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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