メインコンテンツまでスキップ
バージョン: 26.x

Date タイプ リテラル

デスクリプション

標準SQLと一貫して、Dorisでは日付リテラルを指定するために型キーワードと文字列の使用が必要です。キーワードと文字列の間のスペースは任意です。例えば:

DATE '2008-08-08'
TIMESTAMP '2008-08-08 20:08:08'

Date Formats

DATE Literal

  • -で区切られた文字列を'YYYY-MM-DD'または'YY-MM-DD'の形式で使用します。DorisはMySQLの非標準区切り文字形式もサポートしていますが、それらの使用は推奨されません。
  • 区切り文字なしの文字列として、'YYYYMMDD'または'YYMMDD'形式を使用します(文字列が日付として意味を持つ場合)。

DATETIME Literal

  • -で区切られた文字列を'YYYY-MM-DD hh:mm:ss'または'YY-MM-DD hh:mm:ss'の形式で使用します。DorisはMySQLの非標準区切り文字形式もサポートしていますが、それらの使用は推奨されません。日付と時刻の間の区切り文字は、スペース( )またはTを使用できます。MySQL 8.4以前のバージョンとは異なり、Dorisは時刻と日付の間の他の区切り文字をサポートしていません。
  • 区切り文字なしの文字列として、'YYYYMMDDhhmmss'または'YYMMDDhhmmss'形式を使用します(文字列が日付として意味を持つ場合)。

DATETIME literalは、マイクロ秒(6桁)までの精度で秒の小数部分を含めることができます。小数部分は常にドット(.)で時刻の残りの部分から区切られる必要があります。他の小数秒区切り文字は認識されません。

2桁年

2桁の年の値を含む日付は、世紀が不明であるため曖昧です。Dorisは2桁の年の値を解釈するために以下のルールを使用します:

  • 70-99の年の値は1970-1999年として解釈されます。
  • 00-69の年の値は2000-2069年として解釈されます。

Time Zones

DATEとDATETIME literalはタイムゾーンサフィックスを使用できます。タイムゾーンを使用する場合、タイムゾーンは前の日付または時刻部分に直接隣接している必要があり、間にスペースを入れてはいけません。例:

TIMESTAMP '2008-08-08 20:08:08+08:00'

Dorisがサポートするタイムゾーン形式は以下の通りです:

  • タイムゾーンオフセット:形式は {+ | -}hh:mm です。例えば、UTC+8の場合は +08:00 です。
  • タイムゾーン名。例えば、上海のタイムゾーンは Asia/Shanghai です。

無効な値の処理

有効な日付Literalsに解析できない値に遭遇した場合、Dorisは直接エラーを報告します。例えば:

SELECT date '071332'

以下のエラーが発生します:

date/datetime literal [071332] is invalid