Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PERIOD_ADD() Beispiele – MySQL

MySQL hat ein PERIOD_ADD() Funktion, mit der Sie zu einem bestimmten Zeitraum eine Anzahl von Monaten hinzufügen können. Es gibt einen Wert im Format JJJJMM zurück .

Dieser Artikel enthält Beispiele, um zu demonstrieren, wie es funktioniert.

Syntax

Die Syntax lautet wie folgt:

PERIOD_ADD(P,N)

Wobei P der Punkt ist, und N ist die Anzahl der hinzuzufügenden Monate.

Beachten Sie, dass, obwohl diese Funktion scheinbar Monate zu einem Datum hinzufügt, das period-Argument eigentlich kein Datumswert ist.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein einfaches Beispiel.

SELECT PERIOD_ADD(202101,2);

Ergebnis:

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

In diesem Fall haben wir den Zeitraum also um zwei Monate verlängert.

Beispiel 2 – Negative Werte

Hier ist ein Beispiel, das eine negative Anzahl von Monaten hinzufügt.

SELECT PERIOD_ADD(202101,-2);

Ergebnis:

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

Beispiel 3 – Zweistellige Jahreszahl

Dieses Beispiel verwendet eine zweistellige Jahreskomponente.

SELECT PERIOD_ADD(2101,2);

Ergebnis:

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

Sie werden feststellen, dass das Ergebnis immer noch eine vierstellige Jahreszahl verwendet (obwohl wir das Punktargument als zweistellige Jahreszahl angegeben haben).

Beispiel 4 – Verwendung des aktuellen Datums

Dieses Beispiel leitet den Zeitraum vom aktuellen Datum ab. Dann wird dieser Zeitraum um einen Monat verlängert.

SELECT CURDATE( ) AS 'Aktuelles Datum', EXTRACT(YEAR_MONTH FROM CURDATE( )) AS 'Aktueller Zeitraum', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM CURDATE( )), 1) AS 'Nächster Zeitraum';

Ergebnis:

+--------------+----------------+------------+ | Aktuelles Datum | Aktuelle Periode | Nächste Periode |+--------------+-----------+------------+ | 2018-06-30 | 201806 | 201807 |+-------------+----------------+-------------+

Beispiel 5 – Ein Datenbankbeispiel

Hier ist ein Beispiel, das eine Datenbank abfragt.

USE sakila;SELECT Payment_date AS 'Zahlungsdatum', EXTRACT(YEAR_MONTH FROM payment_date) AS 'Zahlungszeitraum', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM payment_date), 12) AS 'Nächste Zahlung'FROM paymentWHERE payment_id =1; 

Ergebnis:

+---------------------+----------------+------- -------+| Zahlungsdatum | Zahlungsfrist | Nächste Zahlung |+---------------------+----------------+------- -------+| 2005-05-25 11:30:37 | 200505 | 200605 |+---------------------+----------------+-------- ------+