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

MariaDBでのQUARTER()のしくみ

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

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

    四半期を1の範囲の数値として返します。 4へ 。月が0の日付の場合(例:0000-00-00 または2025-00-00 )、結果は0です。 。

    構文

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

    QUARTER(date)

    date 四半期を取得する日付式です。

    次に例を示します:

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

    結果:

    +-----------------------+
    | QUARTER('2030-08-01') |
    +-----------------------+
    |                     3 |
    +-----------------------+

    日時の値

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

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

    結果:

    +--------------------------------+
    | QUARTER('2030-08-01 10:30:45') |
    +--------------------------------+
    |                              3 |
    +--------------------------------+

    ゼロ月

    月がゼロの日付は0になります 。

    例:

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

    結果:

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

    数値日付

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

    SELECT QUARTER(20301125);

    結果:

    +-------------------+
    | QUARTER(20301125) |
    +-------------------+
    |                 4 |
    +-------------------+

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

    SELECT QUARTER(301125);

    結果:

    +-----------------+
    | QUARTER(301125) |
    +-----------------+
    |               4 |
    +-----------------+

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

    SELECT QUARTER(20301135);

    結果:

    +-------------------+
    | QUARTER(20301135) |
    +-------------------+
    |              NULL |
    +-------------------+
    1 row in set, 1 warning (0.000 sec)

    警告は次のように確認できます:

    SHOW WARNINGS;

    結果:

    +---------+------+--------------------------------------+
    | Level   | Code | Message                              |
    +---------+------+--------------------------------------+
    | Warning | 1292 | Incorrect datetime value: '20301135' |
    +---------+------+--------------------------------------+

    その他の区切り文字

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

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

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

    QUARTER('2030/06/25'): 2
    QUARTER('2030,06,25'): 2
    QUARTER('2030:06:25'): 2
    QUARTER('2030;06!25'): 2

    現在の日付

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

    SELECT 
        NOW(),
        QUARTER(NOW());

    結果:

    +---------------------+----------------+
    | NOW()               | QUARTER(NOW()) |
    +---------------------+----------------+
    | 2021-05-18 09:23:27 |              2 |
    +---------------------+----------------+

    無効な引数

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

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

    結果:

    +-----------------------+
    | QUARTER('2030-65-78') |
    +-----------------------+
    |                  NULL |
    +-----------------------+
    1 row in set, 1 warning (0.000 sec)

    警告を確認してください:

    SHOW WARNINGS;

    結果:

    +---------+------+----------------------------------------+
    | Level   | Code | Message                                |
    +---------+------+----------------------------------------+
    | Warning | 1292 | Incorrect datetime value: '2030-65-78' |
    +---------+------+----------------------------------------+

    引数がありません

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

    SELECT QUARTER();

    結果:

    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 QUARTER('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. 文字列を正しい方法で分割する–または次善の方法

    2. 動的に生成されたピボットテーブルを一時テーブルに入れる

    3. MDFファイルをSQLServerに接続する3つの方法

    4. SQL ServerでのTAN()の例