次の方法で共有


date_trunc 関数

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

unit で指定された単位に切り詰められたタイムスタンプを返します。

構文

date_trunc(unit, expr)

引数

  • unit: STRING リテラルです。
  • expr: 有効なタイムスタンプ形式の DATETIMESTAMP、または STRING

戻り値

TIMESTAMP です。

メモ

unit の有効な単位は次のとおりです (大文字と小文字は区別されません):

  • 'YEAR''YYYY''YY': expr が含む年の最初の日付に切り詰め、時刻部分はゼロになります
  • 'QUARTER': expr が含む四半期の最初の日付に切り詰め、時刻部分はゼロになります
  • 'MONTH''MM''MON': expr が含む月の最初の日付に切り詰め、時刻部分はゼロになります
  • 'WEEK': expr が含む週の月曜日に切り詰め、時刻部分はゼロになります
  • 'DAY''DD': 時刻部分をゼロにします
  • 'HOUR': 分と秒を小数部でゼロにします
  • 'MINUTE': 秒を小数部でゼロにします
  • 'SECOND': 秒の小数部をゼロにします
  • 'MILLISECOND': マイクロ秒をゼロにします
  • 'MICROSECOND': すべてが残ります

unit が整形式でない場合、この関数は NULL を返します。

> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
 2015-01-01 00:00:00

> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
 2015-03-01 00:00:00

> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
 2015-03-05 00:00:00

> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
 2015-03-05 09:00:00

> SELECT date_trunc('MILLISECOND', '2015-03-05T09:32:05.123456');
 2015-03-05 09:32:05.123

-- Not a recognised unit
> SELECT date_trunc('MS', '2015-03-05T09:32:05.123456');
 NULL