NEXT_DAY は、指定の日付より後に指定の曜日となる最初の日付を返します。
day 値が指定の日付と同じ曜日の場合、その曜日の次の出現が返されます。
構文
NEXT_DAY( { date | timestamp }, day )
引数
- date | timestamp
-
データ型
DATE
またはTIMESTAMP
の列、あるいはDATE
型またはTIMESTAMP
型に暗黙的に評価される式。 - 日
-
任意の曜日の名前を含む文字列。大文字化は関係ありません。
有効な値は次のとおりです。
日 値 日曜日 Su, Sun, Sunday 月曜日 M, Mo, Mon, Monday 火曜日 Tu、Tue、Tues、Tuesday 水曜日 W、We、Wed、Wednesday 木曜日 Th, Thu, Thurs, Thursday 金曜日 F, Fr, Fri, Friday 土曜日 Sa, Sat, Saturday
戻り型
DATE
例
次の例では、2014 年 8 月 20 日後の最初の火曜日を返します。
select next_day('2014-08-20','Tuesday');
next_day
-----------
2014-08-26
次の例では、2008 年 1 月 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
次の例は、第 3 四半期のターゲットマーケティング日を取得します。
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