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

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

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

Тази статия съдържа примери, които демонстрират как DATE_ADD() функцията работи.

Синтаксис

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

DATE_ADD(date,INTERVAL expr unit)

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

Ето пример за употреба.

SELECT DATE_ADD('2020-10-01', INTERVAL 20 DAY) AS Result;

Резултат:

+------------+
| Result     |
+------------+
| 2020-10-21 |
+------------+

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

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

Можете да посочите мерните единици в дни, седмици, месеци, години и т.н. Ето някои примери.

SELECT 
    '2020-10-01' AS 'Start Date',
    DATE_ADD('2020-10-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    DATE_ADD('2020-10-01', INTERVAL 2 MONTH) AS '+2 Months',
    DATE_ADD('2020-10-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    DATE_ADD('2020-10-01', INTERVAL 2 YEAR) AS '+2 Years';

Резултат:

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2020-10-01 | 2020-10-15 | 2020-12-01 | 2021-04-01  | 2022-10-01 |
+------------+------------+------------+-------------+------------+

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

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

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL 10 HOUR) AS Result;

Резултат:

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 11:00:00 |
+---------------------+

И можете да посочите няколко единици едновременно. Например, можете да посочите часове и минути. Като това.

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Резултат:

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 02:30: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 „ГОДИНИ-МЕСЕЦИ“

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектът от клас DateTime не може да бъде преобразуван в низ

  2. Как да планирате MySQL заявка?

  3. Вмъкнете в MySQL таблица или актуализирайте, ако съществува

  4. Как да получите последния запис във всяка група в MySQL

  5. Как да намеря пропуски в последователното номериране в mysql?