NEXT_DAY 函数 - Amazon Redshift

NEXT_DAY 函数

NEXT_DAY 返回比给定日期晚的指定日期的第一个实例的日期。

如果 day 值与给定日期为一个星期中的同一天,则会返回当天的下一个匹配项。

语法

NEXT_DAY( { date | timestamp }, day )

参数

date | timestamp

数据类型为 DATETIMESTAMP 的列,或一个隐式计算结果为 DATETIMESTAMP 类型的表达式。

day

一个包含任何日期的名称的字符串。大小写不重要。

有效的值如下所示。

Sunday Su、Sun、Sunday
Monday M、Mo、Mon、Monday
星期二 Tu、Tue、Tues、Tuesday
星期三 W、We、Wed、Wednesday
星期四 Th、Thu、Thurs、Thursday
Friday F、Fr、Fri、Friday
Saturday Sa、Sat、Saturday

返回类型

DATE

示例

以下示例返回 2014 年 8 月 20 日之后第一个星期二的日期。

select next_day('2014-08-20','Tuesday'); next_day ----------- 2014-08-26

以下示例返回 2008 年 1 月 1 日之后的第一个星期二的日期,时间为 5:54:44。

select listtime, next_day(listtime, 'Tue') from listing limit 1; listtime | next_day --------------------+----------- 2008-01-01 05:54:44 | 2008-01-08

以下示例获取第三季度的目标营销日期。

select username, (firstname ||' '|| lastname) as name, eventname, caldate, next_day (caldate, 'Monday') as marketing_target from sales, date, users, event where sales.buyerid = users.userid and sales.eventid = event.eventid and event.dateid = date.dateid and date.qtr = 3 order by marketing_target, eventname, name; username | name | eventname | caldate | marketing_target ----------+-------------------+----------------------+--------------+------------------- MBO26QSG | Callum Atkinson | .38 Special | 2008-07-06 | 2008-07-07 WCR50YIU | Erasmus Alvarez | A Doll's House | 2008-07-03 | 2008-07-07 CKT70OIE | Hadassah Adkins | Ana Gabriel | 2008-07-06 | 2008-07-07 VVG07OUO | Nathan Abbott | Armando Manzanero | 2008-07-04 | 2008-07-07 GEW77SII | Scarlet Avila | August: Osage County | 2008-07-06 | 2008-07-07 ECR71CVS | Caryn Adkins | Ben Folds | 2008-07-03 | 2008-07-07 KUW82CYU | Kaden Aguilar | Bette Midler | 2008-07-01 | 2008-07-07 WZE78DJZ | Kay Avila | Bette Midler | 2008-07-01 | 2008-07-07 HXY04NVE | Dante Austin | Britney Spears | 2008-07-02 | 2008-07-07 URY81YWF | Wilma Anthony | Britney Spears | 2008-07-02 | 2008-07-07