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

MariaDBでのMONTH()のしくみ

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

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

    月を1の範囲の数値として返します 12へ 1月から12月まで。日付の月の部分がゼロの場合(例:0000-00-00 または2025-00-00 )、結果は0です。 。

    構文

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

    MONTH(date)

    date 月を取得する日付式です。

    次に例を示します:

    SELECT MONTH('2030-08-01');

    結果:

    +---------------------+
    | MONTH('2030-08-01') |
    +---------------------+
    |                   8 |
    +---------------------+

    日時の値

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

    SELECT MONTH('2030-08-01 10:30:45');

    結果:

    +------------------------------+
    | MONTH('2030-08-01 10:30:45') |
    +------------------------------+
    |                            8 |
    +------------------------------+

    ゼロ月

    ゼロか月は0になります 。

    例:

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

    結果:

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

    数値日付

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

    SELECT MONTH(20301125);

    結果:

    +-----------------+
    | MONTH(20301125) |
    +-----------------+
    |              11 |
    +-----------------+

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

    SELECT MONTH(301125);

    結果:

    +---------------+
    | MONTH(301125) |
    +---------------+
    |            11 |
    +---------------+

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

    SELECT MONTH(20301135);

    結果:

    +-----------------+
    | MONTH(20301135) |
    +-----------------+
    |            NULL |
    +-----------------+

    その他の区切り文字

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

    SELECT 
        MONTH('2030/06/25'),
        MONTH('2030,06,25'),
        MONTH('2030:06:25'),
        MONTH('2030;06!25');

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

    MONTH('2030/06/25'): 6
    MONTH('2030,06,25'): 6
    MONTH('2030:06:25'): 6
    MONTH('2030;06!25'): 6

    現在の日付

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

    SELECT 
        NOW(),
        MONTH(NOW());

    結果:

    +---------------------+--------------+
    | NOW()               | MONTH(NOW()) |
    +---------------------+--------------+
    | 2021-05-16 15:00:06 |            5 |
    +---------------------+--------------+

    無効な引数

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

    SELECT MONTH('2030-65-78');

    結果:

    +---------------------+
    | MONTH('2030-65-78') |
    +---------------------+
    |                NULL |
    +---------------------+

    引数がありません

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

    SELECT MONTH();

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

    そして別の例:

    SELECT MONTH('2030-12-10', '2031-12-10');

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2031-12-10')' at line 1

    1. MSSQLレプリケーションの管理

    2. SQL Server 2008のDateTimeOffsetをDateTimeに変換するにはどうすればよいですか?

    3. MySQLvarcharインデックスの長さ

    4. GROUP BY/SQLでの集計関数の混乱