Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PERIOD_ADD() Przykłady – MySQL

MySQL ma funkcję PERIOD_ADD() funkcja pozwalająca na dodanie liczby miesięcy do danego okresu. Zwraca wartość w formacie RRRRMM .

Ten artykuł zawiera przykłady pokazujące, jak to działa.

Składnia

Składnia wygląda tak:

PERIOD_ADD(P,N)

Gdzie P jest kropką, a N to liczba miesięcy do dodania.

Zauważ, że chociaż ta funkcja wydaje się dodawać miesiące do daty, argument okresu nie jest w rzeczywistości wartością daty.

Przykład 1 – Podstawowe użycie

Oto podstawowy przykład.

SELECT PERIOD_ADD(202101,2);

Wynik:

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

Więc w tym przypadku dodaliśmy dwa miesiące do okresu.

Przykład 2 – Wartości ujemne

Oto przykład, który dodaje ujemną liczbę miesięcy.

SELECT PERIOD_ADD(202101,-2);

Wynik:

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

Przykład 3 – Dwucyfrowe lata

W tym przykładzie zastosowano dwucyfrowy składnik roku.

SELECT PERIOD_ADD(2101,2);

Wynik:

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

Zauważysz, że wynik nadal używa roku czterocyfrowego (mimo że podaliśmy argument okresu jako rok dwucyfrowy).

Przykład 4 – Korzystanie z aktualnej daty

W tym przykładzie okres pochodzi z bieżącej daty. Następnie dodaje miesiąc do tego okresu.

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

Wynik:

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

Przykład 5 – Przykład bazy danych

Oto przykład, który przeszukuje bazę danych.

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;

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozwiązać problem odmowy dostępu dla użytkownika „root”@”localhost” (przy użyciu hasła:tak) podczas łączenia bazy danych MySQL

  2. Różne sposoby przeglądania tabel w MySQL Server

  3. Przeglądarka Neo4j

  4. Pokaż (listę) bazy danych MySQL w systemie Linux za pomocą wiersza poleceń

  5. DATE() Przykłady – MySQL