メインコンテンツまでスキップ
バージョン: Candidate-4.0

to_datetime

Unix タイムスタンプを 現在のタイムゾーン設定に基づいて DATETIME 型の値に変換します。

タイムゾーンの設定方法についての詳細は、 Configure a time zone を参照してください。

現在のセッションのタイムゾーン設定に依存せずに Unix タイムスタンプを DATETIME 型の値に変換したい場合は、 to_datetime_ntz を使用できます。

Syntax

DATETIME to_datetime(BIGINT unix_ts, INT scale)

Parameters

NameTypeRequiredDescription
unix_tsBIGINTYes変換する Unix タイムスタンプです。例: 1598306400 (秒) および 1598306400123 (ミリ秒)。
scaleINTNo時間の精度。 有効な値:
  • 0 は秒を示します (デフォルト)。
  • 3 はミリ秒を示します。
  • 6 はマイクロ秒を示します。

Return Value

  • 成功時: 現在のセッションのタイムゾーンに基づいた DATETIME 値を返します。
  • 失敗時: NULL を返します。一般的な理由には以下が含まれます:
    • 無効な scale (0, 3, または 6 以外)
    • DATETIME 範囲外の値 (0001-01-01 から 9999-12-31)

Example

SET time_zone = 'Asia/Shanghai';

SELECT to_datetime(1598306400);
-- Returns: 2020-08-25 06:00:00

SELECT to_datetime(1598306400123, 3);
-- Returns: 2020-08-25 06:00:00.123000