以下は、MariaDBの時間値から分部分を返すことができる4つの関数です。
MINUTE()
機能
MINUTE()
関数は、指定されたTIME
の分の部分を返します またはDATETIME
表現。議事録を抽出する時間である1つの引数を受け入れます。
例:
SELECT MINUTE('03:45:30');
結果:
+--------------------+ | MINUTE('03:45:30') | +--------------------+ | 45 | +--------------------+
TIME
値の範囲は'-838:59:59.999999'
です。 to '838:59:59.999999'
。したがって、時間の部分は23
よりもはるかに高くなる可能性がありますが 、分の部分は0
の範囲にのみ含めることができます 59
へ 。
TIME
値は負になることもあります。このような場合、MINUTE()
正の値を返します。
時間の部分が大きい負の時間値は次のとおりです。
SELECT MINUTE('-838:59:59');
結果:
+----------------------+ | MINUTE('-838:59:59') | +----------------------+ | 59 | +----------------------+
分部分は期待どおりに抽出されます。
EXTRACT()
機能
EXTRACT()
関数を使用すると、日付/時刻の値から指定された単位を抽出できます。したがって、これを使用して、時間値から分(および他の単位)を抽出できます。
例:
SELECT EXTRACT(MINUTE FROM '10:47:01');
結果:
+---------------------------------+ | EXTRACT(MINUTE FROM '10:47:01') | +---------------------------------+ | 47 | +---------------------------------+
TIME_FORMAT()
機能
TIME_FORMAT()
関数を使用すると、フォーマット文字列に基づいて時間値をフォーマットできます。 format文字列は、時刻のフォーマット方法を指定します。
したがって、この関数を使用して、時刻から分(および時間と秒)を返すことができます。
%i
を使用する フォーマット指定子は、2桁の分を返します:
SELECT TIME_FORMAT('10:07:30', '%i');
結果:
+-------------------------------+ | TIME_FORMAT('10:07:30', '%i') | +-------------------------------+ | 07 | +-------------------------------+
TIME_FORMAT()
関数は、DATE_FORMAT()
で使用できるフォーマット文字列のサブセットを受け入れます 働き。 DATE_FORMAT()
で使用できるフォーマット文字列/指定子の完全なリストについては、MariaDBフォーマット文字列を参照してください。 。 TIME_FORMAT()
関数は、時間、分、および秒のフォーマット指定子のみを受け入れます。その他の形式指定子は、null
になります。 または0
返送されます。
DATE_FORMAT()
機能
DATE_FORMAT()
関数を使用すると、フォーマット文字列に基づいて日付または日時の値をフォーマットできます。フォーマット文字列は、日付/時刻のフォーマット方法を指定します。
したがって、TIME_FORMAT()
で使用したものと同じ形式指定子を使用できます。 前の例の関数。ただし、DATE_FORMAT()
TIME
を受け入れません 値なので、DATETIME
を渡す必要があります 値。
SELECT DATE_FORMAT('2023-01-01 10:07:30', '%i');
結果:
+------------------------------------------+ | DATE_FORMAT('2023-01-01 10:07:30', '%i') | +------------------------------------------+ | 07 | +------------------------------------------+
TIME
だけを渡す 値はこの関数では機能しません:
SELECT DATE_FORMAT('10:07:30', '%i') AS '%i';
結果:
+------+ | %i | +------+ | 00 | +------+