NEXT_DAY 関数
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