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

PERIOD_ADD()の例– MySQL

    MySQLにはPERIOD_ADD()があります 特定の期間に月数を追加できる関数。 YYYYMMの形式で値を返します 。

    この記事では、その仕組みを示す例を示します。

    構文

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

    PERIOD_ADD(P,N)
    

    ここでP はピリオドであり、N 追加する月数です。

    この関数は日付に月を追加しているように見えますが、期間引数は実際には日付値ではないことに注意してください。

    例1-基本的な使用法

    これが基本的な例です。

    SELECT PERIOD_ADD(202101,2);
    

    結果:

    +----------------------+
    | PERIOD_ADD(202101,2) |
    +----------------------+
    |               202103 |
    +----------------------+
    

    したがって、この場合、期間に2か月を追加しました。

    例2–負の値

    負の月数を追加する例を次に示します。

    SELECT PERIOD_ADD(202101,-2);
    

    結果:

    +-----------------------+
    | PERIOD_ADD(202101,-2) |
    +-----------------------+
    |                202011 |
    +-----------------------+
    

    例3–2桁の年

    この例では、2桁の年コンポーネントを使用しています。

    SELECT PERIOD_ADD(2101,2);
    

    結果:

    +--------------------+
    | PERIOD_ADD(2101,2) |
    +--------------------+
    |             202103 |
    +--------------------+
    

    結果はまだ4桁の年を使用していることに気付くでしょう(期間引数を2桁の年として提供したにもかかわらず)。

    例4–現在の日付を使用する

    この例では、現在の日付から期間を導き出します。その後、その期間に1か月が追加されます。

    SELECT 
        CURDATE( ) AS 'Current Date',
        EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Current Period',
        PERIOD_ADD(EXTRACT(YEAR_MONTH FROM CURDATE( )), 1) AS 'Next Period';
    

    結果:

    +--------------+----------------+-------------+
    | Current Date | Current Period | Next Period |
    +--------------+----------------+-------------+
    | 2018-06-30   |         201806 |      201807 |
    +--------------+----------------+-------------+
    

    例5–データベースの例

    これがデータベースにクエリを実行する例です。

    USE sakila;
    SELECT
      payment_date AS 'Payment Date',
      EXTRACT(YEAR_MONTH FROM payment_date) AS 'Payment Period',
      PERIOD_ADD(EXTRACT(YEAR_MONTH FROM payment_date), 12) AS 'Next Payment'
    FROM payment
    WHERE payment_id = 1;
    

    結果:

    +---------------------+----------------+--------------+
    | Payment Date        | Payment Period | Next Payment |
    +---------------------+----------------+--------------+
    | 2005-05-25 11:30:37 |         200505 |       200605 |
    +---------------------+----------------+--------------+
    

    1. SQL Serverで外部キーを作成する方法(T-SQLの例)

    2. PostgreSQLで月の最初の日を取得する

    3. SQLServerで数値を小数点以下2桁にフォーマットする4つの関数

    4. Oraclejdbcクライアントのデフォルトのnls_date_formatを変更する方法