MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

11.2.1 日時データ型の構文

時間値を表すための日時データ型は、DATE, TIME, DATETIME, TIMESTAMP および YEAR です。

DATE および DATETIME 範囲の説明では、サポートされているとは、以前の値は機能するが、保証はないことを意味します。

MySQL では、マイクロ秒 (6 桁) までの精度で、TIMEDATETIME および TIMESTAMP の値に小数秒を使用できます。 小数秒部を含むカラムを定義するには、type_name(fsp) の構文を使用します。ここで、type_nameTIMEDATETIME、または TIMESTAMP であり、fsp は小数秒の精度です。 例:

CREATE TABLE t1 (t TIME(3), dt DATETIME(6), ts TIMESTAMP(0));

fsp 値を指定する場合、0 から 6 の範囲にする必要があります。 0 の値は、小数部がないことを表します。 省略した場合、デフォルトの精度は 0 です。 (これは、以前の MySQL バージョンと互換性を保つため、標準 SQL のデフォルトである 6 とは異なっています。)

テーブル内の TIMESTAMP または DATETIME カラムには、自動初期化および自動更新プロパティを設定できます。セクション11.2.5「TIMESTAMP および DATETIME の自動初期化および更新機能」 を参照してください。

SUM() および AVG() 集計関数は時間値を扱いません。 (これらは値を数字に変換するので、最初の数字以外の文字のあとのすべての情報が失われます。) この問題を回避するには、数値単位に変換し、集計操作を実行してから、時間値に戻します。 例:

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROM tbl_name;
SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROM tbl_name;