Mysql
 sql >> база данни >  >> RDS >> Mysql

PERIOD_ADD() Примери – MySQL

MySQL има PERIOD_ADD() функция, която ви позволява да добавите няколко месеца към даден период. Връща стойност във формат ГГГГММ .

Тази статия предоставя примери, които демонстрират как работи.

Синтаксис

Синтаксисът е така:

PERIOD_ADD(P,N)

Където P е точката и N е броят на месеците за добавяне.

Имайте предвид, че въпреки че изглежда, че тази функция добавя месеци към дата, аргументът период всъщност не е стойност за дата.

Пример 1 – Основна употреба

Ето един основен пример.

ИЗБЕРЕТЕ PERIOD_ADD(202101,2);

Резултат:

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

Така че в този случай добавихме два месеца към периода.

Пример 2 – Отрицателни стойности

Ето пример, който добавя отрицателен брой месеци.

ИЗБЕРЕТЕ PERIOD_ADD(202101,-2);

Резултат:

<пред>+-----------------------+| PERIOD_ADD(202101,-2) |+-----------------------+| 202011 |+-----------------------+

Пример 3 – Двуцифрени години

Този пример използва двуцифрен компонент на годината.

ИЗБЕРЕТЕ PERIOD_ADD(2101,2);

Резултат:

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

Ще забележите, че резултатът все още използва четирицифрена година (въпреки че предоставихме аргумента за периода като двуцифрена година).

Пример 4 – Използване на текущата дата

Този пример извлича периода от текущата дата. След това добавя месец към този период.

ИЗБЕРЕТЕ CURDATE( ) КАТО 'Текуща дата', EXTRACT(YEAR_MONTH ОТ CURDATE( )) КАТО 'Текущ период', PERIOD_ADD(EXTRACT(YEAR_MONTH ОТ CURDATE( )), 1) КАТО 'Следващ период';

Резултат:

+--------------+----------------+-----------+ | Текуща дата | Текущ период | Следващ период |+--------------+----------------+------------+ | 30.06.2018 | 201806 | 201807 |+--------------+----------------+------------+ 

Пример 5 – Пример за база данни

Ето пример, който прави заявки към база данни.

ИЗПОЛЗВАЙТЕ sakila;ИЗБЕРЕТЕ pay_date КАТО 'Дата на плащане', EXTRACT(YEAR_MONTH FROM payment_date) КАТО 'Период на плащане', PERIOD_ADD(EXTRACT(YEAR_MONTH FROM payment_date), 12) КАТО 'Следващо плащане'FROM =paymentWHERE1; 

Резултат:

+---------------------+----------------+------- -------+| Дата на плащане | Период на плащане | Следващо плащане |+---------------------+----------------+------- -------+| 25.05.2005 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. MYSQL sum() за отделни редове

  2. php код за тестване на pdo е наличен?

  3. Как да копирам таблица в MySQL

  4. MySQL:Изберете всички дати в диапазон, дори ако няма налични записи

  5. PHP с грешка в MySQL 8.0+:Сървърът поиска метод за удостоверяване, неизвестен на клиента