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