MySQLを使用する場合は、SEC_TO_TIME()
を使用できます。 時間を構築する関数 指定された秒数に基づく値。基本的に、引数として秒数を指定すると、それが時間に変換されます。 値。
仕組みは次のとおりです。
構文
構文は次のようになります:
SEC_TO_TIME(seconds)
seconds
時間に変換する秒数です 値。
例1-基本的な使用法
実例を示します。
SELECT SEC_TO_TIME(65);
結果:
+-----------------+ | SEC_TO_TIME(65) | +-----------------+ | 00:01:05 | +-----------------+
例2–より大きな値
少し大きい値の例を次に示します。
SELECT SEC_TO_TIME(6555);
結果:
+-------------------+ | SEC_TO_TIME(6555) | +-------------------+ | 01:49:15 | +-------------------+
これもまたさらに大きな価値を持つものです。
SELECT SEC_TO_TIME(655555);
結果:
+---------------------+ | SEC_TO_TIME(655555) | +---------------------+ | 182:05:55 | +---------------------+
したがって、時間値は24時間に制限されません。これは、時刻だけを表すことに限定されないためです。また、経過時間または2つのイベント間の時間間隔を表すこともできます。
例3–時間データ型の制限
time
データ型は-838:59:59の範囲に制限されています 838:59:59 。結果がその範囲外になると、警告が表示されます。
SELECT SEC_TO_TIME(6555555);
結果:
+----------------------+ | SEC_TO_TIME(6555555) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.00 sec)
ただし、注意してください。表示される時間値は、 838:59:59 で停止するため、誤解を招く可能性があります。 結果がそれよりも大きくなったとしても。
さらに大きな値を使用した別の例を次に示します。
SELECT SEC_TO_TIME(65555550000);
結果:
+--------------------------+ | SEC_TO_TIME(65555550000) | +--------------------------+ | 838:59:59 | +--------------------------+ 1 row in set, 1 warning (0.00 sec)
この例ではseconds引数がはるかに大きいにもかかわらず、前の例と同じ結果が得られることに注意してください。
例4–数値コンテキスト
SEC_TO_TIME()
の使用例を次に示します。 数値コンテキストで。これを行うには、値(この場合は0
)を追加します )ステートメントに。
SELECT SEC_TO_TIME(6555), SEC_TO_TIME(6555) + 0;
結果:
+-------------------+-----------------------+ | SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 | +-------------------+-----------------------+ | 01:49:15 | 14915 | +-------------------+-----------------------+>