NEXT_DAY 函数
NEXT_DAY 返回比给定日期晚的指定日期的第一个实例的日期。
如果 day 值与给定日期为一个星期中的同一天,则会返回当天的下一个匹配项。
语法
NEXT_DAY( { date | timestamp }, day )
参数
- date | timestamp
-
数据类型为
DATE
或TIMESTAMP
的列,或一个隐式计算结果为DATE
或TIMESTAMP
类型的表达式。 - 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