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