翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DATE_TRUNC 関数
DATE_TRUNC 関数は、時間、日、月など、指定した日付部分に基づいてタイムスタンプ式またはリテラルを切り捨てます。
構文
DATE_TRUNC('datepart', timestamp)
引数
- datepart
-
タイムスタンプの値を切り捨てる日付部分。入力タイムスタンプは、入力 datepart の精度で切り捨てられます。例えば、
month
は、その月の初日で切り捨てられます。有効な形式は次のとおりです。-
microsecond、microseconds
-
millisecond、milliseconds
-
second、seconds
-
minute、minutes
-
hour、hours
-
day、days
-
week、weeks
-
month、months
-
quarter、quarters
-
year、years
-
decade、decades
-
century、centuries
-
millennium、millennia
形式の略語の詳細については、「日付関数またはタイムスタンプ関数の日付部分」を参照してください。
-
- timestamp
-
タイムスタンプの列、あるいは暗黙的にタイムスタンプに変換される式。
戻り型
TIMESTAMP
例
入力タイムスタンプを秒単位で切り捨てます。
SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:06
入力タイムスタンプを分単位で切り捨てます。
SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:00
入力タイムスタンプを時間単位で切り捨てます。
SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:00:00
入力タイムスタンプを日単位で切り捨てます。
SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 00:00:00
入力タイムスタンプを月の初日で切り捨てます。
SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
入力タイムスタンプを四半期の初日で切り捨てます。
SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
入力タイムスタンプを 1 年の初日で切り捨てます。
SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-01-01 00:00:00
入力タイムスタンプを 1 世紀の初日で切り捨てます。
SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2001-01-01 00:00:00
入力タイムスタンプを月曜日に切り捨てます。
select date_trunc('week', TIMESTAMP '20220430 04:05:06.789');
date_trunc 2022-04-25 00:00:00
次の例では、DATE_TRUNC 関数は「week」日付部分を使用して、毎週月曜日の日付を返します。
select date_trunc('week', saletime), sum(pricepaid) from sales where saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;
date_trunc | sum ------------+------------- 2008-09-01 | 2474899 2008-09-08 | 2412354 2008-09-15 | 2364707 2008-09-22 | 2359351 2008-09-29 | 705249