sql >> データベース >  >> RDS >> MariaDB

MariaDBの時間値から秒の部分を返す4つの関数

    以下は、MariaDBの時間値から秒の部分を返すことを可能にする4つの関数です。

    SECOND() 機能

    SECOND() 関数は、指定されたTIMEの秒部分を返します またはDATETIME 表現。秒を抽出する時間である1つの引数を受け入れます。

    例:

    SELECT SECOND('03:45:30');

    結果:

    +--------------------+
    | SECOND('03:45:30') |
    +--------------------+
    |                 30 |
    +--------------------+

    TIME 値の範囲は'-838:59:59.999999'です。 to '838:59:59.999999' 。これにはマイクロ秒が含まれますが、SECOND() 秒の部分だけを返します(MICROSECOND()があります マイクロ秒を返す関数)。

    TIME 値は負になることもあります。このような場合、SECOND() 正の値を返します。

    マイクロ秒の部分を含む負の時間値は次のとおりです。

    SELECT SECOND('-838:59:59.999999');

    結果:

    +-----------------------------+
    | SECOND('-838:59:59.999999') |
    +-----------------------------+
    |                          59 |
    +-----------------------------+

    秒の部分は期待どおりに抽出されます。

    EXTRACT() 機能

    EXTRACT() 関数を使用すると、日付/時刻の値から指定された単位を抽出できます。したがって、これを使用して、時間値から秒(および他の単位)を抽出できます。

    例:

    SELECT EXTRACT(SECOND FROM '10:47:01');

    結果:

    +---------------------------------+
    | EXTRACT(SECOND FROM '10:47:01') |
    +---------------------------------+
    |                               1 |
    +---------------------------------+

    TIME_FORMAT() 機能

    TIME_FORMAT() 関数を使用すると、フォーマット文字列に基づいて時間値をフォーマットできます。 format文字列は、時刻のフォーマット方法を指定します。

    したがって、この関数を使用して、時刻からの秒(および分と時間)を返すことができます。

    %s および%S フォーマット指定子は両方とも2桁の秒を返します:

    SELECT 
        TIME_FORMAT('10:07:30', '%s'),
        TIME_FORMAT('10:07:30', '%S');

    結果:

    +-------------------------------+-------------------------------+
    | TIME_FORMAT('10:07:30', '%s') | TIME_FORMAT('10:07:30', '%S') |
    +-------------------------------+-------------------------------+
    | 30                            | 30                            |
    +-------------------------------+-------------------------------+

    $fを使用することもできます 6桁のサブ秒を返すフォーマット指定子:

    SELECT 
        TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
        TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both";

    結果:

    +--------------+-----------+
    | Microseconds | Both      |
    +--------------+-----------+
    | 123456       | 30.123456 |
    +--------------+-----------+

    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', '%s');

    結果:

    +------------------------------------------+
    | DATE_FORMAT('2023-01-01 10:07:30', '%s') |
    +------------------------------------------+
    | 30                                       |
    +------------------------------------------+

    TIMEだけを渡す 値はこの関数では機能しません:

    SELECT DATE_FORMAT('10:07:30', '%s') AS '%s';

    結果:

    +------+
    | %s   |
    +------+
    | 00   |
    +------+

    1. Homebrewでicu4cバージョン63をインストールする

    2. Microsoft SQL ServerでSQLクエリのタイムアウトを設定することは可能ですか?

    3. MySQL、2つの列を連結します

    4. Word、Excel、PowerPointでクイックアクセスツールバーを表示または再表示する方法