sql怎麼計算兩個日期中有多少個自然月 匿名使用者 1級 2016-11-13 回答

不知道你什麼資料庫

如果是 Oracle , 使用 MONTHS_BETWEEN 函式

例如:

SQL> SELECT

2 MONTHS_BETWEEN(TO_DATE(‘2013-12-21’, ‘YYYY-MM-DD’), sysdate) AS have_months

3 FROM

4 dual;

HAVE_MONTHS

——————-

11。1162298

如果是 SQL Server, 使用 DATEDIFF

例如:

1> SELECT DATEDIFF(mm, GETDATE(), ‘2013-12-21’) AS [數值]

2> GO

數值

——————-

11

(1 行受影響)

sql怎麼計算兩個日期中有多少個自然月 匿名使用者 1級 2016-11-13 回答

我就不解釋了,你自己看一下吧

select month(‘2012-1-3’)-month(‘2011-7-3’)+1+(year(‘2012-1-3’)-year(‘2011-7-3’))*12

sql怎麼計算兩個日期中有多少個自然月 匿名使用者 1級 2016-11-13 回答

datediff(month,日期1,日期2)

sql怎麼計算兩個日期中有多少個自然月 瑪雅人 1級 2016-11-14 回答

沒太理解你截圖程式碼什麼意思,我下面的例子可以透過輸入年月得到該月份的總週數,使用的資料庫是sql server 2005

declare @year int,@month int,@tempdata datetime,@sumday money

select @year=2015,@month=11

——先拼接成引數月份的第一天

select @tempdata=convert(varchar(4),@year)+‘-’+convert(varchar(2),@month)+‘-01’

——統計引數月份總天數

select @sumday=datediff(day,@tempdata,dateadd(month,1,@tempdata))

——計算引數月份一共幾周

seelct ceiling((@sumday-(case when datename(weekday,@tempdata)=‘星期一’ then 7。0

when datename(weekday,@tempdata)=‘星期二’ then 6。0

when datename(weekday,@tempdata)=‘星期三’ then 5。0

when datename(weekday,@tempdata)=‘星期四’ then 4。0

when datename(weekday,@tempdata)=‘星期五’ then 3。0

when datename(weekday,@tempdata)=‘星期六’ then 2。0 else 1。0 end))/7。0)+1