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

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

В MySQL можете да използвате ADDDATE() функция за добавяне на определен период от време към дата. Например, можете да го използвате, за да добавите 10 дни към дадена дата. Можете да посочите дали да добавите дни, седмици, месеци, тримесечия, години и т.н. Можете също да добавите стойност за време, като секунди, микросекунди и т.н.

ADDDATE() функцията е синоним на DATE_ADD() функция (и двете правят едно и също нещо), когато използвате първия синтаксис, изброен по-долу.

Тази статия съдържа примери за демонстриране на използването на ADDDATE() функция.

Синтаксис

Можете да използвате тази функция по следните два начина:

ADDDATE(date,INTERVAL expr unit)

Или

ADDDATE(expr,days)

Пример 1 – Първият синтаксис

Ето пример за използване на първата форма на синтаксиса.

SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;

Резултат:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

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

Пример 2 – Вторият синтаксис

Този пример може да бъде пренаписан до следното:

SELECT ADDDATE('2018-12-01', 2) AS Result;

Резултат:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

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

Обърнете внимание, че ADDDATE() е синоним на DATE_ADD() само когато се използва първият синтаксис. Вторият синтаксис е достъпен само в ADDDATE() .

Пример 3 – Други единици за дата

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

SELECT 
    '2018-12-01' AS 'Start Date',
    ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months',
    ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';

Резултат:

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01  | 2020-12-01 |
+------------+------------+------------+-------------+------------+

Пример 4 – Времеви единици

Можете също да използвате ADDDATE() за добавяне на единици за време към стойност за дата/час. Ето един пример.

SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;

Резултат:

+---------------------+
| Result              |
+---------------------+
| 2018-12-01 03:00:00 |
+---------------------+

Очаквани стойности

Следващата таблица показва валидните стойности на единици и техния очакван формат.

unit Стойност Очакван expr Формат
МИКРОСЕКУНДА МИКРОСЕКУНДИ
ВТОРА СЕКУНДИ
МИНУТА МИНУТИ
ЧАС ЧАСА
ДЕН ДНИ
СЕДМИЦА СЕДМИЦИ
МЕСЕЦ МЕСЕЦИ
Квартал ЧЕТВЕРТИРИ
ГОДИНА ГОДИНИ
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND ‘MINUTES:SECONDS.MICROSECONDS’
MINUTE_SECOND „МИНУТИ:СЕКУНДИ“
HOUR_MICROSECOND „ЧАСОВЕ:МИНУТИ:СЕКУНДИ.МИКРОСЕКУНДИ“
HOUR_SECOND „ЧАСОВЕ:МИНУТИ:СЕКУНДИ“
HOUR_MINUTE „ЧАСОВЕ:МИНУТИ“
DAY_MICROSECOND ‘ДНИ ЧАСОВЕ:МИНУТИ:СЕКУНДИ.МИКРОСЕКУНДИ’
DAY_SECOND „ДНИ ЧАСОВЕ:МИНУТИ:СЕКУНДИ“
DAY_MINUTE „ДНИ ЧАСА:МИНУТИ“
DAY_HOUR „ДНИ ЧАСА“
YEAR_MONTH „ГОДИНИ-МЕСЕЦИ“

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mytop – Полезен инструмент за наблюдение на производителността на MySQL/MariaDB в Linux

  2. Python поддържа ли MySQL подготвени изявления?

  3. Как да инсталирате phpMyAdmin на управлявани хостинг акаунти

  4. Как работи функцията LTRIM() в MySQL

  5. Laravel OrderBy брой връзки