MariaDBでは、TIME()
は、指定された時刻または日時式から時刻部分を抽出し、それを文字列として返す組み込みの日時関数です。
1つの引数を受け入れます。これは、時刻を抽出する時刻または日時の値です。
構文
構文は次のようになります:
TIME(expr)
expr
は、時刻を抽出する時刻または日時の式です。
例
デモンストレーションの例を次に示します。
SELECT TIME('2030-02-01 10:30:45');
結果:
+-----------------------------+ | TIME('2030-02-01 10:30:45') | +-----------------------------+ | 10:30:45 | +-----------------------------+
時間値
時間値から時間を抽出する例を次に示します。
SELECT TIME('10:30:45');
結果:
+------------------+ | TIME('10:30:45') | +------------------+ | 10:30:45 | +------------------+
マイクロ秒
マイクロ秒を含む例を次に示します。
SELECT TIME('2030-02-01 10:30:45.123456');
結果:
+------------------------------------+ | TIME('2030-02-01 10:30:45.123456') | +------------------------------------+ | 10:30:45.123456 | +------------------------------------+
より長い時間
TIME
値の範囲は'-838:59:59.999999'
です。 to '838:59:59.999999'
。
したがって、時間の部分は23
よりもはるかに高くなる可能性があります :
SELECT TIME('578:30:45');
結果:
+-------------------+ | TIME('578:30:45') | +-------------------+ | 578:30:45 | +-------------------+
ネガティブタイム
負の時間は有効です:
例
SELECT TIME('-578:30:45');
結果:
+--------------------+ | TIME('-578:30:45') | +--------------------+ | -578:30:45 | +--------------------+
範囲外の時間
'-838:59:59.999999'
の範囲外の時間値 to '838:59:59.999999'
関連する境界で上限があり、警告が含まれています。
例:
SELECT TIME('978:30:45');
結果(垂直出力を使用):
+-------------------+ | TIME('978:30:45') | +-------------------+ | 838:59:59 | +-------------------+ 1 row in set, 1 warning (0.003 sec)
警告を確認しましょう:
SHOW WARNINGS;
結果(垂直出力を使用):
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '978:30:45' | +---------+------+---------------------------------------------+
現在の日付
NOW()
を渡すことができます 現在の時刻を使用する日時引数として:
SELECT
NOW(),
TIME(NOW());
結果:
+---------------------+-------------+ | NOW() | TIME(NOW()) | +---------------------+-------------+ | 2021-05-27 10:24:23 | 10:24:23 | +---------------------+-------------+
無効な引数
無効な引数が渡されると、TIME()
null
を返します 警告付き:
SELECT TIME('Ten Thirty AM');
結果:
+-----------------------+ | TIME('Ten Thirty AM') | +-----------------------+ | NULL | +-----------------------+ 1 row in set, 1 warning (0.002 sec)
警告を確認してください:
SHOW WARNINGS;
結果:
+---------+------+---------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------+ | Warning | 1292 | Incorrect time value: 'Ten Thirty AM' | +---------+------+---------------------------------------+
引数がありません
TIME()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT TIME();
結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
そして別の例:
SELECT TIME('10:30:45', '06:30:45');
結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1