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

DATETIME

DATETIME

DATETIME

デスクリプション

DATETIME([P]) 日付と時刻の型。 オプションのパラメータPは時刻の精度を示し、値の範囲は[0, 6]です。つまり、最大6桁の小数点(マイクロ秒)をサポートします。設定されていない場合は0です。 値の範囲は['0000-01-01 00:00:00[.000000]','9999-12-31 23:59:59[.999999]']です。 出力形式は'yyyy-MM-dd HH:mm:ss.SSSSSS'です。

note

DATETIMEはマイクロ秒までの時間精度をサポートします。BEサイド(Stream load、Spark loadなどを使用)を使ってインポートされたDATETIME型データを解析する場合、またはNereidsを有効にしたFEサイドを使用する場合、現在の精度を超える小数点は四捨五入されます。 小数秒部分を持つDATETIME値を、同じ型だがより少ない小数桁数を持つカラムに挿入すると、四捨五入されます。 DATETIMEの読み取りは、元のDATETIMEリテラルの後にタイムゾーンが続く形式でタイムゾーンの解決をサポートします:

<date> <time>[<timezone>]

<timezone>でサポートされている具体的な形式については、timezoneを参照してください。DATEDATEV2DATETIME、およびDATETIMEV2型は、タイムゾーン情報を含まないことに注意してください。例えば、入力時刻文字列「2012-12-12 08:00:00+08:00」が解析され、現在のタイムゾーン「+02:00」に変換され、実際の値「2012-12-12 02:00:00」がDATETIME列に格納された場合、クラスター環境変数がどれだけ変更されても、その値自体は変更されません。

example

mysql> select @@time_zone;
+----------------+
| @@time_zone |
+----------------+
| Asia/Hong_Kong |
+----------------+
1 row in set (0.11 sec)

mysql> insert into dtv23 values ("2020-12-12 12:12:12Z"), ("2020-12-12 12:12:12GMT"), ("2020-12-12 12:12:12+02:00"), ("2020-12-12 12:12:12America/Los_Angeles");
Query OK, 4 rows affected (0.17 sec)

mysql> select * from dtv23;
+-------------------------+
| k0 |
+-------------------------+
| 2020-12-12 20:12:12.000 |
| 2020-12-12 20:12:12.000 |
| 2020-12-13 04:12:12.000 |
| 2020-12-12 18:12:12.000 |
+-------------------------+
4 rows in set (0.15 sec)