【问题标题】:how to go to a particular date when we have the specific date当我们有特定日期时如何去特定日期
【发布时间】:2015-04-28 16:37:53
【问题描述】:

我在找到“开始日期”后尝试前往特定日期

例如。我有列 start_date “01-OCT-2014”,但现在在从该数据中获取年份“2014”后,我想创建一个名为“fin_yr”的列,该列应将 +1 添加到年份并显示日期“01-Jul -2015"

另一个例子:

start_date "23-APR-2013" 那么名为 "fin_yr" 的新列的值应为 "01-Jul-2014" 非常感谢(请 Netezza 回答)

【问题讨论】:

    标签: sql-server netezza


    【解决方案1】:

    以下将在 Netezza 环境中工作,使用 extract 函数(date_part 也可以)将一个添加到年份,并设置月份到 7 月 1 日为止。

     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)
    

    【讨论】:

    • 是的,我尝试过这样的事情。效果很好,谢谢:)
    【解决方案2】:

    如果您的列名是“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
    

    【讨论】:

    • 感谢您的回答
    猜你喜欢
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多