MySQLを使用する場合は、TIME()を使用できます。 時間または日時の値から時間部分を抽出する関数。
それが機能する方法は、引数として時刻/日時式を渡し、TIME() 時間の部分を返します。
構文
構文は次のようになります:
TIME(expr)
expr は、時間部分を抽出する時刻/日時式です。
基本的な例
日時の値を使用した例を次に示します。
SELECT TIME('2021-01-03 11:15:45');
結果:
+-----------------------------+
| TIME('2021-01-03 11:15:45') |
+-----------------------------+
| 11:15:45 |
+-----------------------------+
フラクショナル秒
これは、日時の値に秒の小数部も含まれている例です。
SELECT TIME('2021-01-03 11:15:45.123456');
結果:
+------------------------------------+
| TIME('2021-01-03 11:15:45.123456') |
+------------------------------------+
| 11:15:45.123456 |
+------------------------------------+
秒の部分を省略する
これは、秒の部分が初期値から省略されている例です。
SELECT TIME('2021-01-03 11:15');
結果:
+--------------------------+
| TIME('2021-01-03 11:15') |
+--------------------------+
| 11:15:00 |
+--------------------------+
この場合、初期値から省略されていても、秒の部分が返されます。
「時間」値から時間を抽出する
前述のように、最初の引数は時間値自体にすることができます(つまり、日時値である必要はありません)。
SELECT TIME('11:15');
結果:
+---------------+
| TIME('11:15') |
+---------------+
| 11:15:00 |
+---------------+
ステートメントベースのレプリケーション–警告
MySQLのドキュメントには、TIME()について次のように記載されています。 機能:
この関数は、ステートメントベースのレプリケーションには安全ではありません。
binlog_formatのときにこの関数を使用すると、警告がログに記録されますSTATEMENTに設定されています 。