MySQLのHOUR()
関数は、時間値から時間コンポーネントを返すために使用されます。
時刻値の戻り値は0〜23ですが、時間であるため、この関数によって返される範囲ははるかに大きくなる可能性があります。 データ型は時刻だけに限定されません(経過時間または2つのイベント間の時間間隔を表すために使用することもできます)。これは、戻り値が24時間より長くなる可能性があること、または負の値になる可能性があることを意味します。
構文
この関数の構文は次のようになります:
HOUR(time)
time
時間コンポーネントを抽出する時間値です。
例1-基本的な使用法
実例を示します。
SELECT HOUR('10:35:27');
結果:
+------------------+ | HOUR('10:35:27') | +------------------+ | 10 | +------------------+
例2–24時間を超える
前述のように、時間値を使用して経過時間または2つのイベント間の時間間隔を表す場合、24時間を超える時間コンポーネントが含まれる可能性があります。したがって、次の例は完全に有効です。
SELECT HOUR('310:35:27');
結果:
+-------------------+ | HOUR('310:35:27') | +-------------------+ | 310 | +-------------------+
例3–負の値
負の値は、時間でも完全に有効です。 データ・タイプ。ただし、HOUR()
に注意してください 関数はそれを正の値として返します:
SELECT HOUR('-310:35:27');
結果:
+--------------------+ | HOUR('-310:35:27') | +--------------------+ | 310 | +--------------------+
これが問題であり、負の値を負の値として返す必要がある場合は、EXTRACT()
機能はあなたが探しているものかもしれません:
SELECT EXTRACT(HOUR FROM '-310:35:27');
結果:
+---------------------------------+ | EXTRACT(HOUR FROM '-310:35:27') | +---------------------------------+ | -310 | +---------------------------------+