sql日期开始

时间:2015-09-28 11:48:13

标签: sql date

我需要一段sql代码,它显示特定日期的年份部分,但新年应该从11月1日开始。

例如,以下两个将为我带来2014年:

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

我需要第二个回到2015年,因为公司的新年将于11月开始。

我还需要这不仅适用于指定年份的2年,也适用于任何日期。有人告诉我这就像减去2个月一样容易等等谢谢

3 个答案:

答案 0 :(得分:1)

假设MS SQL Server ......

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

答案 1 :(得分:1)

加上两个月,让年份成为其中的一部分。

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

答案 2 :(得分: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;