sql >> Databáze >  >> RDS >> Mysql

PERIOD_ADD() Příklady – MySQL

MySQL má PERIOD_ADD() funkce, která umožňuje přidat k danému období počet měsíců. Vrátí hodnotu ve formátu RRRRMM .

Tento článek obsahuje příklady, které demonstrují, jak to funguje.

Syntaxe

Syntaxe vypadá takto:

PERIOD_ADD(P,N)

Kde P je tečka a N je počet měsíců, které se mají přidat.

Všimněte si, že ačkoli se zdá, že tato funkce přidává k datu měsíce, argument období ve skutečnosti není hodnotou data.

Příklad 1 – Základní použití

Zde je základní příklad.

SELECT PERIOD_ADD(202101;2);

Výsledek:

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

Takže v tomto případě jsme k období přidali dva měsíce.

Příklad 2 – Záporné hodnoty

Zde je příklad, který přidává záporný počet měsíců.

SELECT PERIOD_ADD(202101,-2);

Výsledek:

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

Příklad 3 – roky se dvěma číslicemi

Tento příklad používá dvoumístnou komponentu roku.

SELECT PERIOD_ADD(2101;2);

Výsledek:

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

Všimnete si, že výsledek stále používá čtyřmístný rok (i když jsme argument období uvedli jako dvoumístný rok).

Příklad 4 – Použití aktuálního data

Tento příklad odvozuje období od aktuálního data. Poté k tomuto období přidá další měsíc.

VYBERTE CURDATE( ) JAKO 'Aktuální datum', EXTRACT (YEAR_MONTH OD CURDATE( )) JAKO 'Aktuální období', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM CURDATE( )), 1) JAKO 'Další období';

Výsledek:

+--------------+----------------+-------------+ | Aktuální datum | Aktuální období | Další období |+--------------+----------------+-------------+ | 2018-06-30 | 201806 | 201807 |+--------------+----------------+-------------+ 

Příklad 5 – Příklad databáze

Zde je příklad dotazování databáze.

POUŽÍVEJTE sakila;VYBERTE datum platby JAKO 'Datum platby', EXTRACT (YEAR_MONTH OD payment_date) JAKO 'Platební období', PERIOD_ADD(EXTRACT (YEAR_MONTH OD payment_date), 12) JAKO 'Další platba'OD platbyWHERE payment_id =1; 

Výsledek:

+---------------------+----------------+------- -------+| Datum platby | Platební období | Další platba |+---------------------+----------------+------- -------+| 2005-05-25 11:30:37 | 200505 | 200605 |+---------------------+----------------+--------- ------+

  1. pyodbc - velmi pomalá rychlost hromadného vkládání

  2. MySQL server zmizel - přesně za 60 sekund

  3. Názvy sloupců nabídek Oracle DB

  4. Jak automatizovat migraci ze Standalone MySQL do Galera Cluster pomocí Ansible