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

MariaDBでのDAYOFMONTH()のしくみ

    MariaDBでは、DAYOFMONTH() は、指定された日付から月の日を返す組み込みの日付と時刻の関数です。

    引数を1つ受け入れます。これは、その月の日を抽出する日付です。

    結果は1の範囲になります 31へ 。ただし、日付にゼロデイ部分がある場合(たとえば、'0000-00-00' または'2021-00-00' )、結果は0です。 。

    構文

    構文は次のようになります:

    DAYOFMONTH(date)

    date は、その日を抽出する日付です。

    次に例を示します:

    SELECT DAYOFMONTH('2030-01-25');

    結果:

    +--------------------------+
    | DAYOFMONTH('2030-01-25') |
    +--------------------------+
    |                       25 |
    +--------------------------+

    日時の値

    日時の値でも機能します:

    SELECT DAYOFMONTH('2030-01-25 10:30:45');

    結果:

    +-----------------------------------+
    | DAYOFMONTH('2030-01-25 10:30:45') |
    +-----------------------------------+
    |                                25 |
    +-----------------------------------+

    ゼロデイ

    日付にゼロデイを使用する例を次に示します。

    SELECT DAYOFMONTH('2030-00-00');

    結果:

    +--------------------------+
    | DAYOFMONTH('2030-00-00') |
    +--------------------------+
    |                        0 |
    +--------------------------+

    数値日付

    日付として意味がある限り、日付を数値として渡すこともできます。

    SELECT DAYOFMONTH(20300125);

    結果:

    +----------------------+
    | DAYOFMONTH(20300125) |
    +----------------------+
    |                   25 |
    +----------------------+

    または、次の場合でも(2桁の年を使用):

    SELECT DAYOFMONTH(300125);

    結果:

    +--------------------+
    | DAYOFMONTH(300125) |
    +--------------------+
    |                 25 |
    +--------------------+

    しかし、それは日付として意味をなさなければなりません。日の部分を無効な日に増やすと、次のようになります。

    SELECT DAYOFMONTH(20300135);

    結果:

    +----------------------+
    | DAYOFMONTH(20300135) |
    +----------------------+
    |                 NULL |
    +----------------------+

    その他の区切り文字

    日付には他の区切り文字を使用できます。 MariaDBは、日付の区切り文字に関しては非常に寛容です。いくつかの有効な例を次に示します。

    SELECT 
        DAYOFMONTH('2030/01/25'),
        DAYOFMONTH('2030,01,25'),
        DAYOFMONTH('2030:01:25'),
        DAYOFMONTH('2030;01!25');

    結果(垂直出力を使用):

    DAYOFMONTH('2030/01/25'): 25
    DAYOFMONTH('2030,01,25'): 25
    DAYOFMONTH('2030:01:25'): 25
    DAYOFMONTH('2030;01!25'): 25

    現在の日付

    NOW()を渡すことができます 現在の日付を使用する日付引数として:

    SELECT 
        NOW(),
        DAYOFMONTH(NOW());

    結果:

    +---------------------+-------------------+
    | NOW()               | DAYOFMONTH(NOW()) |
    +---------------------+-------------------+
    | 2021-05-13 09:02:41 |                13 |
    +---------------------+-------------------+

    無効な引数

    無効な引数が渡されると、DAYOFMONTH() nullを返します :

    SELECT DAYOFMONTH('Homer');

    結果:

    +---------------------+
    | DAYOFMONTH('Homer') |
    +---------------------+
    |                NULL |
    +---------------------+

    引数がありません

    DAYOFMONTH()を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:

    SELECT DAYOFMONTH();

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'

    そして別の例:

    SELECT DAYOFMONTH('2030-01-25', '2045-05-08');

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFMONTH'

    1. PostgreSQLでの累積合計の計算

    2. MySQLでAUTO_INCREMENTを読み取ってリセットする方法

    3. UbuntuにPHP、MariaDB、PhpMyAdminを使用してLighttpdをインストールする方法

    4. ORACLE更新トリガー後:ORA-04091変更テーブルエラーの解決