メインコンテンツまでスキップ
メインコンテンツまでスキップ

日付と時間を扱うための関数

このセクションのほとんどの関数は、オプションのタイムゾーン引数を受け付けます。例: Europe/Amsterdam。この場合、指定されたタイムゾーンがローカル(デフォルト)のものではなく使用されます。

makeDate

Dateを作成します。

  • 年、月、日引数から、または
  • 年と年の日数引数から。

構文

エイリアス:

  • MAKEDATE(year, month, day);
  • MAKEDATE(year, day_of_year);

引数

返される値

  • 引数から作成された日付。Date

年、月、日から日付を作成します。

結果:

年と年の日数引数から日付を作成します。

結果:

makeDate32

年、月、日(またはオプションで年と日)からDate32タイプの日付を作成します。

構文

引数

注記

monthが省略されている場合、dayには1から365の値を取る必要があります。それ以外の場合は、1から31の値を取る必要があります。

返される値

  • 引数から作成された日付。Date32

年、月、日から日付を作成します。

クエリ:

結果:

年と年の日数から日付を作成します。

クエリ:

結果:

makeDateTime

年、月、日、時、分、秒の引数からDateTimeを作成します。

構文

引数

返される値

  • 引数から作成された時間を伴う日付。DateTime

結果:

makeDateTime64

コンポーネントからDateTime64データ型の値を作成します: 年、月、日、時、分、秒。オプションのサブ秒精度を含みます。

構文

引数

返される値

  • 提供された引数から作成された日付と時間。DateTime64

timestamp

最初の引数'exp'をDateTime64(6)型に変換します。 第二の引数'expr_time'が提供される場合、指定された時間を変換された値に追加します。

構文

エイリアス: TIMESTAMP

引数

  • expr - 日付または時間を伴う日付。 String
  • expr_time - オプションのパラメータ。追加する時間。 String

結果:

結果:

返される値

timeZone

現在のセッションのタイムゾーンを返します。すなわち、設定 session_timezone の値です。 関数が分散テーブルのコンテキストで実行されると、各シャードに関連した値を持つ通常のカラムを生成します。それ以外の場合は、定数値を生成します。

構文

エイリアス: timezone.

返される値

  • タイムゾーン。String

結果:

参照

serverTimeZone

サーバーのタイムゾーンを返します。すなわち、設定 timezone の値です。 関数が分散テーブルのコンテキストで実行されると、各シャードに関連した値を持つ通常のカラムを生成します。それ以外の場合は、定数値を生成します。

構文

エイリアス: serverTimezone.

返される値

  • タイムゾーン。String

結果:

参照

toTimeZone

日付または時間を伴う日付を指定されたタイムゾーンに変換します。データの内部値(Unix秒数)は変更せず、値のタイムゾーン属性と値の文字列表現のみが変更されます。

構文

エイリアス: toTimezone.

引数

  • value — 時間または日付と時間。DateTime64
  • timezone — 返される値のタイムゾーン。String。この引数は定数です。なぜなら、toTimezoneはカラムのタイムゾーンを変更するからです(タイムゾーンはDateTime*タイプの属性です)。

返される値

結果:

参照

  • formatDateTime - 非定数タイムゾーンをサポートします。
  • toString - 非定数タイムゾーンをサポートします。

timeZoneOf

DateTimeまたはDateTime64データ型のタイムゾーン名を返します。

構文

エイリアス: timezoneOf.

引数

返される値

  • タイムゾーン名。String

結果:

timeZoneOffset

UTCから秒単位のタイムゾーンオフセットを返します。 関数はサマータイムや指定された日付と時間における歴史的なタイムゾーンの変更を考慮します。 オフセットを計算するためにIANAタイムゾーンデータベースが使用されます。

構文

エイリアス: timezoneOffset.

引数

返される値

  • UTCからのオフセット(秒)。Int32

結果:

toYear

日付または時間を伴う日付の年のコンポーネント(西暦)を返します。

構文

エイリアス: YEAR

引数

返される値

  • 指定された日付/時間の年。UInt16

結果:

toQuarter

日付または時間を伴う日付の四半期(1-4)を返します。

構文

エイリアス: QUARTER

引数

返される値

  • 指定された日付/時間の年の四半期(1, 2, 3または4)。UInt8

結果:

toMonth

日付または時間を伴う日付の月のコンポーネント(1-12)を返します。

構文

エイリアス: MONTH

引数

返される値

  • 指定された日付/時間の年の月(1 - 12)。UInt8

結果:

toDayOfYear

日付または時間を伴う日付の年内の日数(1-366)を返します。

構文

エイリアス: DAYOFYEAR

引数

返される値

  • 指定された日付/時間の年の日(1 - 366)。UInt16

結果:

toDayOfMonth

日付または時間を伴う日付のその月の日数(1-31)を返します。

構文

エイリアス: DAYOFMONTH, DAY

引数

返される値

  • 指定された日付/時間のその月の日数(1 - 31)。UInt8

結果:

toDayOfWeek

日付または時間を伴う日付のその週の日数を返します。

toDayOfWeek()の二引数形式は、週の初めの日を月曜日または日曜日に指定でき、戻り値が0から6または1から7の範囲になるかを指定できます。モード引数を省略すると、デフォルトモードは0です。日付のタイムゾーンを第三引数として指定できます。

モード週の初めの日範囲
0月曜日1-7: 月曜日 = 1, 火曜日 = 2, ..., 日曜日 = 7
1月曜日0-6: 月曜日 = 0, 火曜日 = 1, ..., 日曜日 = 6
2日曜日0-6: 日曜日 = 0, 月曜日 = 1, ..., 土曜日 = 6
3日曜日1-7: 日曜日 = 1, 月曜日 = 2, ..., 土曜日 = 7

構文

エイリアス: DAYOFWEEK.

引数

  • t - DateDate32DateTimeまたはDateTime64
  • mode - 週の初めの日を決定します。可能な値は0, 1, 2または3です。上の表で違いを確認してください。
  • timezone - オプションのパラメータで、他の変換関数と同様に動作します。

最初の引数は、parseDateTime64BestEffort()によりサポートされる形式のStringとしても指定できます。文字列引数のサポートは、特定のサードパーティツールが期待するMySQLとの互換性のためにのみ存在しています。文字列引数のサポートは、将来のMySQL互換性設定に依存する可能性があるため、一般的に文字列解析は遅いため、使用しないことが推奨されます。

返される値

  • 指定された日付/時間における週の日数(1-7)、選択したモードに応じて

次の日付は2023年4月21日で、金曜日です。

結果:

toHour

時間を伴う日付の時間コンポーネント(0-24)を返します。

時計が前に進められた場合、通常は1時間進められ、午前2時に発生し、逆に戻される場合は1時間戻され、午前3時になると想定されます(これは常に正確に発生するわけではなく、タイムゾーンに依存します)。

構文

エイリアス: HOUR

引数

返される値

  • 指定された日付/時間のその日の時間(0 - 23)。UInt8

結果:

toMinute

時間を伴う日付の分コンポーネント(0-59)を返します。

構文

エイリアス: MINUTE

引数

返される値

  • 指定された日付/時間のその時間の分(0 - 59)。UInt8

結果:

toSecond

時間を伴う日付の秒コンポーネント(0-59)を返します。うるう秒は考慮されません。

構文

エイリアス: SECOND

引数

返される値

  • 指定された日付/時間のその分の秒(0 - 59)。UInt8

結果:

toMillisecond

時間を伴う日付のミリ秒コンポーネント(0-999)を返します。

構文

引数

エイリアス: MILLISECOND

結果:

返される値

  • 指定された日付/時間のその分のミリ秒(0 - 59)。UInt16

toUnixTimestamp

文字列、日付、または時間を伴う日付をUnixタイムスタンプUInt32表現で変換します。

関数が文字列で呼び出されると、オプションのタイムゾーン引数を受け付けます。

構文

返される値

  • Unixタイムスタンプを返します。UInt32

結果:

注記

toStartOf*toLastDayOf*toMondaytimeSlot関数の返り値の型は、設定パラメータ enable_extended_results_for_datetime_functions によって決まります。このパラメータはデフォルトで0です。

動作

  • enable_extended_results_for_datetime_functions = 0:
    • 関数 toStartOfYeartoStartOfISOYeartoStartOfQuartertoStartOfMonthtoStartOfWeektoLastDayOfWeektoLastDayOfMonthtoMondayは、引数が Date または DateTimeの場合、Date または DateTimeを返します。
    • 関数 toStartOfDaytoStartOfHourtoStartOfFifteenMinutestoStartOfTenMinutestoStartOfFiveMinutestoStartOfMinutetimeSlotは、引数がDateまたはDateTimeの場合、DateTimeを返し、Date32DateTime64を引数に指定しても正常な範囲(Dateの場合1970年から2149年、DateTimeの場合2106年)を超える時間を指定すると不正確な結果が得られます。
  • enable_extended_results_for_datetime_functions = 1:
    • 関数 toStartOfYeartoStartOfISOYeartoStartOfQuartertoStartOfMonthtoStartOfWeektoLastDayOfWeektoLastDayOfMonthtoMondayは引数がDateまたはDateTimeの場合はDateまたはDateTimeを返し、引数がDate32またはDateTime64の場合はDate32またはDateTime64を返します。
    • 関数 toStartOfDaytoStartOfHourtoStartOfFifteenMinutestoStartOfTenMinutestoStartOfFiveMinutestoStartOfMinutetimeSlotは引数がDateまたはDateTimeの場合はDateTimeを返し、引数がDate32またはDateTime64の場合はDateTime64を返します。

toStartOfYear

日付または時間を伴う日付を年の初めの初日まで切り下げます。日付はDateオブジェクトとして返されます。

構文

引数

返される値

  • 入力された日付/時間の年の初日。Date

結果:

toStartOfISOYear

日付または時間を伴う日付をISO年の初日まで切り下げます。これは「通常の」年と異なる場合があります。(詳細はISO週日付を参照)。

構文

引数

返される値

  • 入力された日付/時間の年の初日。Date

結果:

toStartOfQuarter

日付または時間を伴う日付を四半期の初日まで切り下げます。四半期の初日は、1月1日、4月1日、7月1日、または10月1日です。 日付を返します。

構文

引数

返される値

  • 指定された日付/時間の四半期の初日。Date

結果:

toStartOfMonth

日付または時間を伴う日付を月の初日まで切り下げます。日付を返します。

構文

引数

返される値

  • 指定された日付/時間の月の初日。Date

結果:

注記

不正な日付を解析する動作は実装に依存します。ClickHouseはゼロ日付を返すか、例外をスローするか、「自然」のオーバーフローを実行する可能性があります。

toLastDayOfMonth

日付または時間を伴う日付をその月の最終日まで切り上げます。日付を返します。

構文

エイリアス: LAST_DAY

引数

返される値

  • 指定された日付/時間の月の最終日。Date

結果:

toMonday

日付または時間を伴う日付を最近の月曜日まで切り下げます。日付を返します。

構文

引数

返される値

  • 指定された日付の直近の月曜日の日時。Date

結果:

toStartOfWeek

指定した日付または日時を最も近い日曜日または月曜日に丸めます。日付を返します。mode 引数は toWeek() 関数の mode 引数とまったく同じように機能します。モードが指定されていない場合、デフォルトで 0 になります。

構文

引数

  • t - DateDate32DateTime または DateTime64
  • mode - toWeek() 関数で説明されているように、週の最初の日を決定します。
  • timezone - オプションのパラメータで、他の変換関数と同様に動作します。

返される値

  • 指定した日付以前の最も近い日曜日または月曜日の日付。 Date

結果:

toLastDayOfWeek

指定した日付または日時を最も近い土曜日または日曜日に丸めます。日付を返します。 mode 引数は toWeek() 関数の mode 引数とまったく同じように機能します。モードが指定されていない場合、モードは 0 と見なされます。

構文

引数

  • t - DateDate32DateTime または DateTime64
  • mode - toWeek 関数で説明されているように、週の最終日を決定します。
  • timezone - オプションのパラメータで、他の変換関数と同様に動作します。

返される値

  • 指定した日付以降の最も近い日曜日または土曜日の日付。 Date

結果:

toStartOfDay

日時をその日の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻のその日の開始時刻。 DateTime

結果:

toStartOfHour

日時をその時刻の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻のその時刻の開始時刻。 DateTime

結果:

toStartOfMinute

日時をその分の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻のその分の開始時刻。 DateTime

結果:

toStartOfSecond

サブ秒を切り捨てます。

構文

引数

  • value — 日時。 DateTime64
  • timezone — 返される値の Timezone (オプション)。指定されていない場合、関数は value パラメータのタイムゾーンを使用します。 String

返される値

タイムゾーンなしのクエリ:

結果:

タイムゾーンありのクエリ:

結果:

参照

  • Timezone サーバー構成パラメーター。

toStartOfMillisecond

日時をミリ秒の開始時刻に丸めます。

構文

引数

  • value — 日時。 DateTime64
  • timezone — 返される値の Timezone (オプション)。指定されていない場合、関数は value パラメータのタイムゾーンを使用します。String

返される値

  • サブミリ秒のある入力値。 DateTime64

タイムゾーンなしのクエリ:

結果:

タイムゾーンありのクエリ:

結果:

参照

  • Timezone サーバー構成パラメーター。

toStartOfMicrosecond

日時をマイクロ秒の開始時刻に丸めます。

構文

引数

  • value — 日時。 DateTime64
  • timezone — 返される値の Timezone (オプション)。指定されていない場合、関数は value パラメータのタイムゾーンを使用します。 String

返される値

  • サブマイクロ秒のある入力値。 DateTime64

タイムゾーンなしのクエリ:

結果:

タイムゾーンありのクエリ:

結果:

参照

  • Timezone サーバー構成パラメーター。

toStartOfNanosecond

日時をナノ秒の開始時刻に丸めます。

構文

引数

  • value — 日時。 DateTime64
  • timezone — 返される値の Timezone (オプション)。指定されていない場合、関数は value パラメータのタイムゾーンを使用します。 String

返される値

タイムゾーンなしのクエリ:

結果:

タイムゾーンありのクエリ:

結果:

参照

  • Timezone サーバー構成パラメーター。

toStartOfFiveMinutes

日時を5分間隔の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻の5分間隔の開始時刻。 DateTime

結果:

toStartOfTenMinutes

日時を10分間隔の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻の10分間隔の開始時刻。 DateTime

結果:

toStartOfFifteenMinutes

日時を15分間隔の開始時刻に丸めます。

構文

引数

返される値

  • 指定した日付/時刻の15分間隔の開始時刻。 DateTime

結果:

toStartOfInterval

この関数は、toStartOf*() 関数を一般化し、toStartOfInterval(date_or_date_with_time, INTERVAL x unit [, time_zone]) 構文を使用します。 例えば、

  • toStartOfInterval(t, INTERVAL 1 YEAR)toStartOfYear(t) と同じ結果を返します、
  • toStartOfInterval(t, INTERVAL 1 MONTH)toStartOfMonth(t) と同じ結果を返します、
  • toStartOfInterval(t, INTERVAL 1 DAY)toStartOfDay(t) と同じ結果を返します、
  • toStartOfInterval(t, INTERVAL 15 MINUTE)toStartOfFifteenMinutes(t) と同じ結果を返します。

計算は特定の時点に対して行われます:

インターバルスタート
YEARyear 0
QUARTER1900 Q1
MONTH1900 January
WEEK1970, 1st week (01-05)
DAY1970-01-01
HOUR(*)
MINUTE1970-01-01 00:00:00
SECOND1970-01-01 00:00:00
MILLISECOND1970-01-01 00:00:00
MICROSECOND1970-01-01 00:00:00
NANOSECOND1970-01-01 00:00:00

(*) 時間のインターバルは特別です:計算は常に現在の日の 00:00:00(真夜中)に対して行われます。その結果、1から23の間の時間の値のみが有用です。

もしユニット WEEK が指定された場合、toStartOfInterval は週が月曜日に始まると仮定します。この動作は、週がデフォルトで日曜日から始まる関数 toStartOfWeek とは異なります。

構文

エイリアス: time_bucket, date_bin.

2番目のオーバーロードは、TimescaleDBの time_bucket() 関数、またはPostgreSQLの date_bin() 関数をエミュレートします。 例えば、

結果:

参照

toTime

日時を特定の固定日付に変換し、時間を保持します。

構文

引数

  • date — 時間に変換する日付。 Date/DateTime/DateTime64
  • timezone (オプション) — 返される値のタイムゾーン。 String

返される値

  • 日付が 1970-01-02 に設定された時刻を保持する DateTime。 DateTime
注記

もし、date 入力引数にサブ秒成分が含まれている場合、それらは返される DateTime 値において秒精度で切り捨てられます。

クエリ:

結果:

toRelativeYearNum

日付または日時を、過去の特定の基準点から経過した年数に変換します。

構文

引数

返される値

  • 過去の基準点からの年数。 UInt16

クエリ:

結果:

toRelativeQuarterNum

日付または日時を、過去の特定の基準点から経過した四半期数に変換します。

構文

引数

返される値

  • 過去の基準点からの四半期数。 UInt32

クエリ:

結果:

toRelativeMonthNum

日付または日時を、過去の特定の基準点から経過した月数に変換します。

構文

引数

返される値

  • 過去の基準点からの月数。 UInt32

クエリ:

結果:

toRelativeWeekNum

日付または日時を、過去の特定の基準点から経過した週数に変換します。

構文

引数

返される値

  • 過去の基準点からの週数。 UInt32

クエリ:

結果:

toRelativeDayNum

日付または日時を、過去の特定の基準点から経過した日数に変換します。

構文

引数

返される値

  • 過去の基準点からの日数。 UInt32

クエリ:

結果:

toRelativeHourNum

日付または日時を、過去の特定の基準点から経過した時間数に変換します。

構文

引数

返される値

  • 過去の基準点からの時間数。 UInt32

クエリ:

結果:

toRelativeMinuteNum

日付または日時を、過去の特定の基準点から経過した分数に変換します。

構文

引数

返される値

  • 過去の基準点からの分数。 UInt32

クエリ:

結果:

toRelativeSecondNum

日付または日時を、過去の特定の基準点から経過した秒数に変換します。

構文

引数

返される値

  • 過去の基準点からの秒数。 UInt32

クエリ:

結果:

toISOYear

日付または日時を、ISO年を UInt16 型で返します。

構文

引数

返される値

  • 入力値をISO年数に変換。 UInt16

クエリ:

結果:

toISOWeek

日付または日時を、ISO週数で UInt8 型の数値に変換します。

構文

引数

  • value — 日付または日時の値。

返される値

  • 現在のISO週数に変換された valueUInt8

クエリ:

結果:

toWeek

この関数は、日付または日時の週番号を返します。2引数形式の toWeek()を使うと、週の開始日が日曜日か月曜日か、返される値が0から53の範囲か1から53の範囲かを指定できます。mode 引数を省略すると、デフォルトのモードは 0 です。

toISOWeek()toWeek(date,3) と同等の互換性関数です。

mode 引数がどのように機能するかを示す以下の表があります。

モード週の最初の日範囲週 1は ... の最初の週
0日曜日0-53この年に日曜日がある週
1月曜日0-53この年に4日以上ある週
2日曜日1-53この年に日曜日がある週
3月曜日1-53この年に4日以上ある週
4日曜日0-53この年に4日以上ある週
5月曜日0-53この年に月曜日がある週
6日曜日1-53この年に4日以上ある週
7月曜日1-53この年に月曜日がある週
8日曜日1-531月1日を含む
9月曜日1-531月1日を含む

「この年に4日以上ある週」という意味のモード値の場合、週はISO 8601:1988に従って番号が付けられます:

  • 1月1日を含む週が4日以上新年にある場合、それは週1です。

  • そうでない場合、それは前の年の最後の週であり、次の週は週1です。

「1月1日を含む」という意味のモード値の場合、1月1日を含む週が週1です。 新年に含まれる日数は関係ありません。たとえ新年に1日しか含まれなくてもかまいません。 すなわち、12月の最後の週が翌年の1月1日を含む場合、それは翌年の週1となります。

構文

エイリアス: WEEK

引数

  • t – 日付または日時。
  • mode – オプションのパラメータ、範囲の値は [0,9]、デフォルトは 0。
  • Timezone – オプションのパラメータで、他の変換関数と同様に動作します。

最初の引数は String としても指定できます。これは parseDateTime64BestEffort() がサポートする形式です。文字列引数のサポートは、特定の3rdパーティツールが期待するMySQLとの互換性のためだけに存在します。文字列引数のサポートは、将来的に新しいMySQL互換設定に依存する可能性があり、文字列解析は一般的に遅いため、使用しないことをお勧めします。

toYearWeek

日付に対して年と週を返します。結果の年は、年の最初と最後の週の場合、日付の年と異なる場合があります。

mode 引数は toWeek() に対する mode 引数のように機能します。単一引数構文の場合、モード値は 0 が使用されます。

toISOYear()intDiv(toYearWeek(date,3),100) と同等の互換性関数です。

危険

toYearWeek() が返す週番号は、toWeek() が返すものとは異なる場合があります。 toWeek() は常に、指定された年の文脈における週番号を返し、toWeek()0 を返す場合、toYearWeek() は前の年の最後の週に対応する値を返します。以下の例の prev_yearWeek を参照してください。

構文

エイリアス: YEARWEEK

最初の引数は String としても指定できます。これは parseDateTime64BestEffort() がサポートする形式です。文字列引数のサポートは、特定の3rdパーティツールが期待するMySQLとの互換性のためだけに存在します。文字列引数のサポートは、将来的に新しいMySQL互換設定に依存する可能性があり、文字列解析は一般的に遅いため、使用しないことをお勧めします。

toDaysSinceYearZero

指定した日付の、西暦 0000 年 1 月 1 日 からの日数を返します。ISO 8601 で定義された 延長グレゴリオ暦と同じ計算です。この計算は、MySQL の TO_DAYS() 関数と同様です。

構文

エイリアス: TO_DAYS

引数

  • date — 年ゼロから経過した日数を計算する日付。DateDate32DateTime または DateTime64
  • time_zone — タイムゾーンを表す文字列型定数値または式。String types

返される値

日付 0000-01-01 から経過した日数。UInt32

結果:

参照

fromDaysSinceYearZero

1 January 0000 から経過した日数に対する、ISO 8601 によって定義された先行 Gregorian calendar の対応する日付を返します。計算は MySQL の FROM_DAYS() 関数と同じです。

結果は、Date 型の範囲内で表現できない場合は未定義です。

構文

エイリアス: FROM_DAYS

引数

  • days — 年ゼロから経過した日数。

返される値

年ゼロから経過した日数に対応する日付。 Date

結果:

も参照

fromDaysSinceYearZero32

fromDaysSinceYearZero と同様ですが、Date32 を返します。

age

startdateenddate の間の差の unit コンポーネントを返します。差は1ナノ秒の精度で計算されます。 例えば、2021-12-292022-01-01 の違いは、day 単位で3日、month 単位で0ヶ月、year 単位で0年です。

age の代替として date_diff 関数を参照してください。

構文

引数

  • unit — 結果の間隔のタイプ。 String。 可能な値:

    • nanosecond, nanoseconds, ns
    • microsecond, microseconds, us, u
    • millisecond, milliseconds, ms
    • second, seconds, ss, s
    • minute, minutes, mi, n
    • hour, hours, hh, h
    • day, days, dd, d
    • week, weeks, wk, ww
    • month, months, mm, m
    • quarter, quarters, qq, q
    • year, years, yyyy, yy
  • startdate — 引き算の最初の時間値(被減数)。 DateDate32DateTime または DateTime64

  • enddate — 引き算の第二の時間値(減数)。 DateDate32DateTime または DateTime64

  • timezoneタイムゾーン名 (オプション)。指定された場合、startdateenddate の両方に適用されます。指定されない場合は、startdateenddate のタイムゾーンが使用されます。異なる場合、結果は未定義です。 String

返される値

enddatestartdate の違いを unit で表した値。 Int

結果:

結果:

date_diff

startdateenddate の間に交差する指定された unit 境界の数を返します。 差は相対単位を使用して計算されます。例えば、2021-12-292022-01-01 の違いは、単位 day では3日(toRelativeDayNumを参照)、単位 month では1ヶ月(toRelativeMonthNumを参照)、単位 year では1年(toRelativeYearNumを参照)です。

単位 week が指定された場合、date_diff は週が月曜日から始まると仮定します。この動作は、週がデフォルトで日曜日から始まる toWeek() 関数とは異なります。

date_diff の代替として、age 関数を参照してください。

構文

エイリアス: dateDiff, DATE_DIFF, timestampDiff, timestamp_diff, TIMESTAMP_DIFF.

引数

  • unit — 結果の間隔のタイプ。 String。 可能な値:

    • nanosecond, nanoseconds, ns
    • microsecond, microseconds, us, u
    • millisecond, milliseconds, ms
    • second, seconds, ss, s
    • minute, minutes, mi, n
    • hour, hours, hh, h
    • day, days, dd, d
    • week, weeks, wk, ww
    • month, months, mm, m
    • quarter, quarters, qq, q
    • year, years, yyyy, yy
  • startdate — 引き算の最初の時間値(被減数)。 DateDate32DateTime または DateTime64

  • enddate — 引き算の第二の時間値(減数)。 DateDate32DateTime または DateTime64

  • timezoneタイムゾーン名 (オプション)。指定された場合、startdateenddate の両方に適用されます。指定されない場合は、startdateenddate のタイムゾーンが使用されます。異なる場合、結果は未定義です。 String

返される値

enddatestartdate の違いを unit で表した値。 Int

結果:

結果:

date_trunc

日付と時間データを指定された日付の部分に切り捨てます。

構文

エイリアス: dateTrunc.

引数

  • unit — 結果を切り捨てる間隔のタイプ。 String Literal。 可能な値:

    • nanosecond - DateTime64 のみと互換性があります
    • microsecond - DateTime64 のみと互換性があります
    • milisecond - DateTime64 のみと互換性があります
    • second
    • minute
    • hour
    • day
    • week
    • month
    • quarter
    • year

    unit 引数は大文字小文字を区別しません。

  • value — 日付と時間。 DateDate32DateTime または DateTime64

  • timezone — 返される値のタイムゾーン名(オプション)。指定されない場合、関数は value パラメーターのタイムゾーンを使用します。 String

返される値

  • 指定された日付の部分に切り捨てられた値。 DateTime

タイムゾーンなしのクエリ:

結果:

指定されたタイムゾーンでのクエリ:

結果:

も参照

date_add

提供された日付または日付と時間に、時間間隔または日付間隔を追加します。

追加の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

代替構文:

エイリアス: dateAdd, DATE_ADD.

引数

  • unit — 追加する間隔のタイプ。これは String ではなく、引用符で囲まない必要があります。 可能な値:

    • second
    • minute
    • hour
    • day
    • week
    • month
    • quarter
    • year
  • value — 追加する間隔の値。 Int

  • datevalue が追加される日付または日付と時間。 DateDate32DateTime または DateTime64

返される値

valueunit で表した日付または日付と時間を date に追加した結果。 DateDate32DateTime または DateTime64

結果:

結果:

も参照

date_sub

提供された日付または日付と時間から、時間間隔または日付間隔を引き算します。

引き算の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

代替構文:

エイリアス: dateSub, DATE_SUB.

引数

  • unit — 引き算する間隔のタイプ。これは String ではなく、引用符で囲まない必要があります。

    可能な値:

    • second
    • minute
    • hour
    • day
    • week
    • month
    • quarter
    • year
  • value — 引き算する間隔の値。 Int

  • datevalue が引き算される日付または日付と時間。 DateDate32DateTime または DateTime64

返される値

valueunit で表した日付または日付と時間から date を引き算した結果。 DateDate32DateTime または DateTime64

結果:

結果:

も参照

timestamp_add

指定された時間値を提供された日付または日付 時間値に追加します。

追加の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

エイリアス: timeStampAdd, TIMESTAMP_ADD.

引数

  • date — 日付または日付と時間。 DateDate32DateTime または DateTime64

  • value — 追加する間隔の値。 Int

  • unit — 追加する間隔のタイプ。 String。 可能な値:

    • second
    • minute
    • hour
    • day
    • week
    • month
    • quarter
    • year

返される値

指定された valueunit で表した内容を date に追加した日付または日付と時間。 DateDate32DateTime または DateTime64

結果:

timestamp_sub

指定された間隔を提供された日付または日付と時間から引き算します。

引き算の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

エイリアス: timeStampSub, TIMESTAMP_SUB.

引数

  • unit — 引き算する間隔のタイプ。 String。 可能な値:

    • second
    • minute
    • hour
    • day
    • week
    • month
    • quarter
    • year
  • value — 引き算する間隔の値。 Int

  • date — 日付または日付と時間。 DateDate32DateTime または DateTime64

返される値

valueunit で表した内容を date から引き算した日付または日付と時間。 DateDate32DateTime または DateTime64

結果:

addDate

提供された日付、日付と時間または文字列で表現された日付に時間間隔を追加します。

追加の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

引数

返される値

dateinterval を追加した結果の日付または日付と時間。 DateDate32DateTime または DateTime64

結果:

エイリアス: ADDDATE

も参照

subDate

提供された日付、日付と時間または文字列で表現された日付から時間間隔を引き算します。

引き算の結果がデータ型の範囲を超える場合、結果は未定義です。

構文

引数

返される値

date から interval を引き算した結果の日付または日付と時間。 DateDate32DateTime または DateTime64

結果:

エイリアス: SUBDATE

も参照

now

クエリ分析の瞬間における現在の日付と時間を返します。この関数は定数式です。

エイリアス: current_timestamp.

構文

引数

  • timezone — 返される値のタイムゾーン名(オプション)。 String

返される値

  • 現在の日付と時間。 DateTime

タイムゾーンなしのクエリ:

結果:

指定されたタイムゾーンでのクエリ:

結果:

now64

クエリ分析の瞬間におけるサブ秒精度の現在の日付と時間を返します。この関数は定数式です。

構文

引数

  • scale - ティックサイズ(精度):10-precision秒。有効範囲: [ 0 : 9 ]。通常使用されるのは - 3(デフォルト)(ミリ秒)、6(マイクロ秒)、9(ナノ秒)です。

  • timezone — 返される値のタイムゾーン名(オプション)。 String

返される値

  • サブ秒精度の現在の日付と時間。 DateTime64

結果:

nowInBlock

各データブロックの処理の瞬間における現在の日付と時間を返します。now 関数とは異なり、これは定数式ではなく、長時間のクエリでは異なるブロックで返される値が異なります。

この関数は、長時間の INSERT SELECT クエリで現在の時刻を生成するために使うのが最適です。

構文

引数

  • timezone — 返される値のタイムゾーン名(オプション)。 String

返される値

  • 各データブロックの処理の瞬間における現在の日付と時間。 DateTime

結果:

today

クエリ分析の瞬間における現在の日付を返します。これは 'toDate(now())' と同じで、エイリアス: curdate, current_date があります。

構文

引数

  • なし

返される値

クエリ:

結果:

2024年3月3日に上記のクエリを実行すると、以下の結果が返されます:

yesterday

引数はゼロで、クエリ分析の瞬間に昨日の日付を返します。 'today() - 1' と同じです。

timeSlot

時間を30分の長さの間隔に切り上げます。

構文

引数

  • time — 30分の長さの間隔の開始に切り上げる時間。 DateTime/Date32/DateTime64
  • time_zone — タイムゾーンを表す文字列型定数値または式。 String
注記

この関数は、Date32DateTime64 の拡張型の値を引数として受け取ることができますが、通常の範囲(Date 用の1970年から2149年 / DateTime 用の2106年)を超える時間を渡すと間違った結果を生成します。

戻り値の型

  • 30分の長さの間隔の開始に切り上げられた時間を返します。 DateTime

クエリ:

結果:

toYYYYMM

日付または日付と時間を年と月の番号を含む UInt32 数(YYYY * 100 + MM)に変換します。第二のオプショナルタイムゾーン引数を受け取ります。提供された場合、タイムゾーンは文字列定数でなければなりません。

この関数は YYYYMMDDToDate() 関数の逆です。

結果:

toYYYYMMDD

日付または日付と時間を年、月、日の番号を含む UInt32 数(YYYY * 10000 + MM * 100 + DD)に変換します。第二のオプショナルタイムゾーン引数を受け取ります。提供された場合、タイムゾーンは文字列定数でなければなりません。

結果:

toYYYYMMDDhhmmss

日付または日付と時間を年、月、日、時、分、秒の番号を含む UInt64 数(YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss)に変換します。第二のオプショナルタイムゾーン引数を受け取ります。提供された場合、タイムゾーンは文字列定数でなければなりません。

結果:

YYYYMMDDToDate

年、月、日を含む数を Date に変換します。

この関数は toYYYYMMDD() 関数の逆です。

入力が有効な Date 値をエンコードしていない場合、出力は未定義になります。

構文

引数

返される値

  • 引数から作成された日付。 Date

結果:

YYYYMMDDToDate32

YYYYMMDDToDate() 関数と同様ですが、Date32 を生成します。

YYYYMMDDhhmmssToDateTime

年、月、日、時、分、秒の番号を含む数を DateTime に変換します。

入力が有効な DateTime 値をエンコードしていない場合、出力は未定義になります。

この関数は toYYYYMMDDhhmmss() 関数の逆です。

構文

引数

  • yyyymmddhhmmss - 年、月、日、時、分、秒を表す数。 IntegerFloat または Decimal

  • timezone - 返される値のための タイムゾーン (オプション)。

返される値

  • 引数から作成された日付と時間。 DateTime

結果:

YYYYMMDDhhmmssToDateTime64

YYYYMMDDhhmmssToDate() 関数と同様ですが、DateTime64 を生成します。

追加のオプショナルな precision パラメーターを、timezone パラメーターの後に受け取ります。

changeYear

日付または日付 時間の年のコンポーネントを変更します。

構文

引数

返される値

  • date_or_datetime と同じ型。

結果:

changeMonth

日付または日付 時間の月のコンポーネントを変更します。

構文

引数

返される値

  • date_or_datetime と同じ型の値を返します。

結果:

changeDay

日付または日付 時間の日のコンポーネントを変更します。

構文

引数

返される値

  • date_or_datetime と同じ型の値を返します。

結果:

changeHour

日付または日付時刻の時間コンポーネントを変更します。

構文

引数

戻り値

  • date_or_datetime と同じ型の値を返します。入力が Date の場合は DateTime を返します。入力が Date32 の場合は DateTime64 を返します。

結果:

changeMinute

日付または日付時刻の分コンポーネントを変更します。

構文

引数

戻り値

  • date_or_datetime と同じ型の値を返します。入力が Date の場合は DateTime を返します。入力が Date32 の場合は DateTime64 を返します。

結果:

changeSecond

日付または日付時刻の秒コンポーネントを変更します。

構文

引数

戻り値

  • date_or_datetime と同じ型の値を返します。入力が Date の場合は DateTime を返します。入力が Date32 の場合は DateTime64 を返します。

結果:

addYears

指定された年数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addQuarters

指定された四半期数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addMonths

指定された月数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addWeeks

指定された週数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addDays

指定された日数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addHours

指定された時間数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addMinutes

指定された分数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addSeconds

指定された秒数を日付、日付時刻、または文字列エンコードされた日付/日付時刻に追加します。

構文

引数

戻り値

addMilliseconds

指定されたミリ秒数を日付時刻、または文字列エンコードされた日付時刻に追加します。

構文

引数

戻り値

  • date_timenum ミリ秒を追加します。DateTime64

addMicroseconds

指定されたマイクロ秒数を日付時刻、または文字列エンコードされた日付時刻に追加します。

構文

引数

戻り値

  • date_timenum マイクロ秒を追加します。DateTime64

addNanoseconds

指定されたナノ秒数を日付時刻、または文字列エンコードされた日付時刻に追加します。

構文

引数

戻り値

  • date_timenum ナノ秒を追加します。DateTime64

addInterval

他の間隔または間隔のタプルに間隔を追加します。

構文

引数

  • interval_1: 最初の間隔または間隔のタプル。intervaltuple(interval)。
  • interval_2: 追加される2番目の間隔。interval

戻り値

注記

同じタイプの間隔は1つの間隔に結合されます。たとえば、toIntervalDay(1)toIntervalDay(2) を渡すと、結果は (3) になります。 (1,1) ではありません。

クエリ:

結果:

addTupleOfIntervals

日付または日付時刻に間隔のタプルを逐次追加します。

構文

引数

戻り値

クエリ:

結果:

subtractYears

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された年数を減算します。

構文

引数

戻り値

subtractQuarters

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された四半期数を減算します。

構文

引数

戻り値

subtractMonths

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された月数を減算します。

構文

引数

戻り値

subtractWeeks

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された週数を減算します。

構文

引数

戻り値

subtractDays

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された日数を減算します。

構文

引数

戻り値

subtractHours

日付、日付時刻、または文字列エンコードされた日付/日付時刻から指定された時間数を減算します。

構文

引数

戻り値

subtractMinutes

指定された分数を日付、時間付きの日付、または文字列形式の日付/時間から減算します。

構文

パラメータ

返される値

subtractSeconds

指定された秒数を日付、時間付きの日付、または文字列形式の日付/時間から減算します。

構文

パラメータ

返される値

subtractMilliseconds

指定されたミリ秒数を時間付きの日付、または文字列形式の時間付きの日付から減算します。

構文

パラメータ

返される値

  • date_time から num ミリ秒を引いた結果を返します。 DateTime64

subtractMicroseconds

指定されたマイクロ秒数を時間付きの日付、または文字列形式の時間付きの日付から減算します。

構文

パラメータ

返される値

  • date_time から num マイクロ秒を引いた結果を返します。 DateTime64

subtractNanoseconds

指定されたナノ秒数を時間付きの日付、または文字列形式の時間付きの日付から減算します。

構文

パラメータ

返される値

  • date_time から num ナノ秒を引いた結果を返します。 DateTime64

subtractInterval

他のインターバルまたはインターバルのタプルに否定されたインターバルを加算します。

構文

パラメータ

  • interval_1: 最初のインターバルまたはタプルのインターバル。 intervaltuple(interval)。
  • interval_2: 否定される第2のインターバル。 interval

返される値

  • インターバルのタプルを返します。 tuple(interval)。
注記

同じタイプのインターバルは1つのインターバルに結合されます。例えば、toIntervalDay(2)toIntervalDay(1) が渡された場合、結果は (1) になります。

クエリ:

結果:

subtractTupleOfIntervals

タプルのインターバルを日付または日時から逐次減算します。

構文

パラメータ

返される値

クエリ:

結果:

timeSlots

'StartTime' から開始し、'Duration' 秒間続く時間間隔に対して、この間隔を 'Size' 秒に切り捨てた時間の点の配列を返します。 'Size' は省略可能なパラメータで、デフォルトは1800(30分)です。 これは、例えば、対応するセッション内のページビューを検索する際に必要です。 'StartTime' 引数として DateTime と DateTime64 を受け取ります。 DateTime の場合、'Duration' と 'Size' 引数は UInt32 でなければなりません。 'DateTime64' の場合、それらは Decimal64 でなければなりません。 DateTime/DateTime64 の配列を返します(返り値の型は 'StartTime' の型と一致します)。 DateTime64 の場合、返り値のスケールは 'StartTime' のスケールと異なる場合があります --- 与えられたすべての引数の中で最高のスケールが採用されます。

構文

結果:

formatDateTime

指定されたフォーマット文字列に従って時間をフォーマットします。フォーマットは定数式であるため、単一の結果列に対して複数のフォーマットを持つことはできません。

formatDateTime は MySQL の日時フォーマットスタイルを使用します。詳細は https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format を参照してください。

この関数の逆操作は parseDateTime です。

エイリアス: DATE_FORMAT.

構文

返される値

決定されたフォーマットに従った時間と日付の値を返します。

置換フィールド

置換フィールドを使用して、結果の文字列のパターンを定義できます。「例」カラムは 2018-01-02 22:33:44 のフォーマット結果を示しています。

プレースホルダー説明
%a省略された曜日名 (月曜日-日曜日)Mon
%b省略された月名 (1月-12月)Jan
%c整数で表された月 (01-12)、下記の「注 4」を参照01
%C100で割って整数に切り捨てた年 (00-99)20
%dゼロパディングされた月の日 (01-31)02
%D短縮されたMM/DD/YY形式の日付で、%m/%d/%y と等しい01/02/18
%eスペースパディングされた月の日 (1-31)  2
%f小数秒、下記の「注 1」及び「注 2」を参照123456
%F短縮されたYYYY-MM-DD形式の日付で、%Y-%m-%d と等しい2018-01-02
%gISO 8601に準拠した2桁の年形式で、4桁の表記から省略されたもの18
%GISO週番号用の4桁の年形式、ISO 8601で定義された週ベースの年から計算される、通常は%Vと共に使用される2018
%h12時間形式の時 (01-12)09
%H24時間形式の時 (00-23)22
%i分 (00-59)33
%I12時間形式の時 (01-12)10
%j年の日 (001-366)002
%k24時間形式の時 (00-23)、下記の「注 4」を参照14
%l12時間形式の時 (01-12)、下記の「注 4」を参照09
%m整数で表された月 (01-12)01
%M月の完全な名前 (1月-12月)、下記の「注 3」を参照January
%n改行文字 ('')
%pAMまたはPMの指定PM
%Q四半期 (1-4)1
%r12時間形式のHH:MM AM/PM時間、%h:%i %pと等しい10:30 PM
%R24時間形式のHH:MM時間、%H:%iと等しい22:33
%s秒 (00-59)44
%S秒 (00-59)44
%t水平タブ文字 (')
%TISO 8601時間形式 (HH:MM:SS)、%H:%i:%Sと等しい22:33:44
%u月曜日を1とするISO 8601に準拠した曜日 (1-7)2
%VISO 8601週番号 (01-53)01
%w日曜日を0とする整数で表された曜日 (0-6)2
%W完全な曜日名 (月曜日-日曜日)Monday
%y年の下2桁 (00-99)18
%Y2018
%zUTCからの時間オフセットを +HHMM または -HHMM で表現-0500
%%%記号%

注 1: ClickHouseバージョン23.4未満では、%f は日付、Date32、DateTime(小数秒がない場合)または精度が0のDateTime64の場合は単一のゼロ (0) を出力します。以前の挙動は設定 formatdatetime_f_prints_single_zero = 1 を使用して復元できます。

注 2: ClickHouseバージョン25.1未満では、%f はDateTime64のスケールが指定した桁数に応じて出力されます。以前の挙動は設定 formatdatetime_f_prints_scale_number_of_digits= 1を用いて復元できます。

注 3: ClickHouseバージョン23.4未満では、%M は完全な月名 (1月-12月) ではなく分 (00-59) を出力します。以前の挙動は設定 formatdatetime_parsedatetime_m_is_month_name = 0 を使用して復元できます。

注 4: ClickHouseバージョン23.11未満では、関数 parseDateTime() はフォーマッタ %c(間隔)と %l/%k(時)に対し、先頭にゼロを必要としました(例: 07)。以降のバージョンでは先頭のゼロを省略できます(例: 7)。以前の挙動は設定 parsedatetime_parse_without_leading_zeros = 0 を使って復元できます。関数 formatDateTime() は、デフォルトで%0と%l/%kに対し、既存の使用ケースを崩さないように先頭ゼロを出力します。この挙動は設定 formatdatetime_format_without_leading_zeros = 1 で変更できます。

結果:

結果:

さらに、formatDateTime 関数には、タイムゾーンの名前を含む第三の文字列引数を与えることができます。例: Asia/Istanbul。この場合、時間は指定されたタイムゾーンに従ってフォーマットされます。

参照

formatDateTimeInJodaSyntax

formatDateTimeと似ていますが、MySQLスタイルではなくJodaスタイルで日時をフォーマットします。 https://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html を参照してください。

この関数の逆操作は parseDateTimeInJodaSyntax です。

置換フィールド

置換フィールドを使用して、結果の文字列のパターンを定義できます。

プレースホルダー説明表示
G時代テキストAD
C時代の世紀 (>=0)数字20
Y時代の年 (>=0)1996
x週年 (未サポート)1996
w週年の週 (未サポート)数字27
e曜日数字2
E曜日テキストTuesday; Tue
y1996
D年の日数字189
M年の月July; Jul; 07
d月の日数字10
a日の半分テキストPM
K半日の時 (0~11)数字0
h半日の時 (1~12)数字12
H一日の時 (0~23)数字0
k一日の時 (1~24)数字24
m時の分数字30
s分の秒数字55
S秒の小数数字978
zタイムゾーンテキストEastern Standard Time; EST
Zタイムゾーンオフセットゾーン-0800; -0812
'テキストのエスケープデリミタ
''シングルクォートリテラル'

結果:

dateName

指定された日付の部分を返します。

構文

引数

  • date_part — 日付部分。可能な値: 'year', 'quarter', 'month', 'week', 'dayofyear', 'day', 'weekday', 'hour', 'minute', 'second'。 String
  • date — 日付。 DateDate32DateTime または DateTime64
  • timezone — タイムゾーン。省略可能。 String

返される値

指定された日付部分。String

結果:

monthName

月の名前を返します。

構文

引数

返される値

月の名前。String

結果:

fromUnixTimestamp

この関数はUnixタイムスタンプをカレンダーの日付と一日の時間に変換します。

次の2つの方法で呼び出すことができます:

単一の引数がInteger型の場合、DateTime型の値を返します。つまり、toDateTimeのように動作します。

エイリアス: FROM_UNIXTIME

例:

結果:

2つまたは3つの引数があり、最初の引数がIntegerDateDate32DateTimeまたはDateTime64型の場合、2番目の引数は定数のフォーマット文字列、3番目の引数はオプションの定数タイムゾーン文字列で、関数はString型の値を返します。つまり、formatDateTimeのように動作します。この場合、MySQLのdatetimeフォーマットスタイルが使用されます。

例:

結果:

関連情報

fromUnixTimestampInJodaSyntax

fromUnixTimestampと同様ですが、2つまたは3つの引数を使用して呼び出された場合、フォーマッティングはMySQLスタイルではなくJodaスタイルで行われます。

例:

結果:

toModifiedJulianDay

テキスト形式YYYY-MM-DD旧暦グレゴリオ暦の日付を[Int32]の修正ユリウス日番号に変換します。この関数は、0000-01-01から9999-12-31までの日付をサポートしています。引数が日付として解析できない場合や、日付が無効な場合は例外が発生します。

構文

引数

返される値

  • 修正ユリウス日番号。Int32

結果:

toModifiedJulianDayOrNull

toModifiedJulianDay()と似ていますが、例外を発生させる代わりにNULLを返します。

構文

引数

返される値

結果:

fromModifiedJulianDay

修正ユリウス日番号をテキスト形式YYYY-MM-DD旧暦グレゴリオ暦の日付に変換します。この関数は、-678941から2973483までの日数をサポートします(これはそれぞれ0000-01-019999-12-31を表します)。日数がサポート範囲外の場合は例外が発生します。

構文

引数

返される値

  • テキスト形式の日付。String

結果:

fromModifiedJulianDayOrNull

fromModifiedJulianDay()と似ていますが、例外を発生させる代わりにNULLを返します。

構文

引数

返される値

結果:

toUTCTimestamp

DateTime/DateTime64型の値を他のタイムゾーンからUTCタイムゾーンのタイムスタンプに変換します。この関数は、主にApache Sparkや類似のフレームワークとの互換性を考慮して含まれています。

構文

引数

返される値

  • テキスト形式のDateTime/DateTime64

結果:

fromUTCTimestamp

UTCタイムゾーンから他のタイムゾーンのタイムスタンプにDateTime/DateTime64型の値を変換します。この関数は、主にApache Sparkや類似のフレームワークとの互換性を考慮して含まれています。

構文

引数

返される値

  • テキスト形式のDateTime/DateTime64

結果:

UTCTimestamp

クエリ解析の瞬間の現在の日付と時間を返します。この関数は定数式です。

注記

この関数はnow('UTC')が提供するのと同じ結果を返します。これはMySQLのサポートのために追加され、nowの使用が推奨されます。

構文

エイリアス: UTC_timestamp

返される値

  • クエリ解析の瞬間の現在の日付と時間。DateTimeを返します。

クエリ:

結果:

timeDiff

2つの日付または時間付き日付の間の差を返します。差は秒単位で計算されます。これはdateDiffと同じであり、MySQLのサポートのために追加されました。dateDiffが推奨されます。

構文

引数

返される値

2つの日付または時間付き日付の間の差を秒単位で返します。

クエリ:

結果: