当我们有特定日期时如何去特定日期
how to go to a particular date when we have the specific date
我想在找到 "start date"
后前往特定日期
例如。我有列 start_date“01-OCT-2014”,但现在从该数据中获取年份“2014”后,我想创建一个名为 "fin_yr" 的列,该列应将 +1 添加到年份并显示日期“2015 年 7 月 1 日”
另一个例子:
start_date "23-APR-2013" 那么名为 "fin_yr" 的新列的值应该是 "01-Jul-2014"
非常感谢(请 Netezza 回答)
如果您的列名称是 "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
以下将在 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)
我想在找到 "start date"
后前往特定日期例如。我有列 start_date“01-OCT-2014”,但现在从该数据中获取年份“2014”后,我想创建一个名为 "fin_yr" 的列,该列应将 +1 添加到年份并显示日期“2015 年 7 月 1 日”
另一个例子:
start_date "23-APR-2013" 那么名为 "fin_yr" 的新列的值应该是 "01-Jul-2014" 非常感谢(请 Netezza 回答)
如果您的列名称是 "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
以下将在 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)