当我们有特定日期时,如何去特定日期

时间:2015-04-28 16:37:53

标签: sql-server netezza

我在找到“开始日期”后试图去特定的日期

EG。我有专栏start_date“01-OCT-2014”但是现在从这个数据获得“2014”年份之后我想创建一个名为“fin_yr”的列,该列应该在年份中添加+1并显示日期“01-Jul” -2015"

另一个例如:

start_date“23-APR-2013”​​然后一个名为“fin_yr”的新列应该具有值“01-Jul-2014” 非常感谢(Netezza请回答)

2 个答案:

答案 0 :(得分:1)

以下内容适用于Netezza环境,使用 extract 函数( date_part 也可以正常工作)在年份中添加一个,并设置月份一天到七月一日。

 SELECT start_date,
       to_date(extract(YEAR FROM start_date) +1 || '0701', 'YYYYMMDD') fin_year
    FROM (
          SELECT CURRENT_DATE start_date
       )
       foo;

 START_DATE |  FIN_YEAR
------------+------------
 2015-04-28 | 2016-07-01
(1 row)

答案 1 :(得分:0)

如果您的列名是" dt"然后你可以这样做加1年:

SELECT DATEADD(year, 1, dt)
FROM foo

我不明白你如何从2013年4月23日到2014年7月1日。这增加了1年+一些天数。例如,如果您想要添加1年+99天,您可以执行以下操作:

SELECT DATEADD(day, 99, DATEADD(year, 1, dt))
FROM foo