2015-09-28 76 views
1

我需要一段sql代碼來顯示特定日期的年份,但新的一年應該從11月1日開始。開始年份的sql日期

例如下面的兩人將帶給我的2014:

select DATEPART(year, '2014-10-01') 
select DATEPART(year, '2014-11-01') 

如何需要第二個回到2015年新的一年裏爲公司在從11月份開始。

我也需要這樣做,不僅適用於指定的2年,而且適用於任何日期。有人告訴我,這是那麼容易,因爲減-ING2個月等謝謝

+0

使用DATEADD兩個月增加的日期,然後使用日期部分,以獲得一年。你可以輕鬆地在一個聲明中做到這一點。 http://www.w3schools.com/sql/func_dateadd.asp –

+0

你正在使用哪些DBMS? 'datepart()'是一個非標準函數 –

回答

1

添加兩個月,得到它的年份部分。

select datepart(year, dateadd(MONTH,2,'2014-10-01')), -- 2014 
datepart(year, dateadd(MONTH,2,'2014-11-01')) -- 2015 
1

假設MS SQL服務器...

SELECT DATEPART(YEAR, DATEADD(MONTH,2,'2014-11-01')) 
0

假設PostgreSQL的

SELECT 
date_part('year', ('2014-10-01') :: DATE + INTERVAL '2 months'), -- 2014 
date_part('year', ('2014-11-01') :: DATE + INTERVAL '2 months'); -- 2015; 
相關問題