MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

6 sposobów na dodanie roku do randki w MariaDB

MariaDB udostępnia kilka sposobów na dodanie roku lub określonej liczby lat do podanej daty. Na przykład możesz dodać 1 rok, 10 lat, 30 lat itd.

Oto 6 sposobów na dodanie roku do daty w MariaDB.

DATE_ADD() Funkcja

DATE_ADD() funkcja umożliwia dodanie kwoty do terminu. Na przykład możesz dodać liczbę dni, tygodni, miesięcy, lat itp.

Przykład:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR);

Wynik:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 1 YEAR) |
+-----------------------------------------+
| 2022-05-01                              |
+-----------------------------------------+

Nie ma reguły, która mówi, że może to być tylko 1 rok. Możesz dodać wiele lat. Tak czy inaczej, YEAR słowo kluczowe nie jest liczbą mnogą:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);

Wynik:

+------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 10 YEAR) |
+------------------------------------------+
| 2031-05-01                               |
+------------------------------------------+

Możliwe jest również użycie innej jednostki daty/czasu z odpowiednim numerem tej jednostki. Jednak to podejście należy stosować ostrożnie, ponieważ może to spowodować nieoczekiwane wyniki.

Przykład:

SELECT 
    DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;

Wynik:

+------------+------------+------------+------------+
| Days       | Weeks      | Months     | Years      |
+------------+------------+------------+------------+
| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |
+------------+------------+------------+------------+

W tym przypadku dodanie 52 tygodni dało inny wynik niż użycie 365 dni, 12 miesięcy i 1 roku.

Jeśli przesuniemy datę o kilka lat do przodu, uzyskamy jeszcze większą niespójność:

SELECT 
    DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;

Wynik:

+------------+------------+------------+------------+
| Days       | Weeks      | Months     | Years      |
+------------+------------+------------+------------+
| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |
+------------+------------+------------+------------+

Tym razem przy użyciu MONTH i YEAR zwraca ten sam wynik, ale DAY i WEEK zwraca dwie różne daty, z których obie różnią się od MONTH i YEAR wyniki.

ADDDATE() Funkcja

Innym sposobem dodania roku do daty jest użycie funkcji ADDDATE() funkcjonować. Ta funkcja ma dwie składnie. Jedna składnia pozwala dodać do daty liczbę dni. Druga składnia jest taka sama jak w przypadku DATE_ADD() funkcja powyżej. Używając tej składni, ADDDATE() jest synonimem DATE_ADD() .

Przykład:

SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);

Wynik:

+----------------------------------------+
| ADDDATE('2021-05-01', INTERVAL 1 YEAR) |
+----------------------------------------+
| 2022-05-01                             |
+----------------------------------------+

DATE_SUB() Funkcja

DATE_SUB() funkcja umożliwia odejmowanie kwota do daty. Jeśli jednak podasz wartość ujemną do odjęcia, zostanie ona dodana do daty.

Przykład:

SELECT DATE_SUB('2021-05-01', INTERVAL -1 YEAR);

Wynik:

+------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL -1 YEAR) |
+------------------------------------------+
| 2022-05-01                               |
+------------------------------------------+

SUBDATE() Funkcja

SUBDATE() funkcja jest synonimem DATE_SUB() używając następującej składni.

Przykład:

SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);

Wynik:

+-----------------------------------------+
| SUBDATE('2021-05-01', INTERVAL -1 YEAR) |
+-----------------------------------------+
| 2022-05-01                              |
+-----------------------------------------+

+ Operator

Inną opcją jest użycie + operator.

+ Operator jest używany do dodawania i możemy go używać w datach, wraz z odpowiednią jednostką daty/godziny, aby dodać określoną liczbę lat do naszej daty.

Przykład:

SELECT '2021-05-01' + INTERVAL 1 YEAR;

Wynik:

+--------------------------------+
| '2021-05-01' + INTERVAL 1 YEAR |
+--------------------------------+
| 2022-05-01                     |
+--------------------------------+

- Operator

- Operator może służyć do odejmowania kwoty od daty. Ale jeśli jest używany do odejmowania liczby ujemnej, wynikiem jest dodatnia kwota dodana do daty:

SELECT '2021-05-01' - INTERVAL -1 YEAR;

Wynik:

+---------------------------------+
| '2021-05-01' - INTERVAL -1 YEAR |
+---------------------------------+
| 2022-05-01                      |
+---------------------------------+

Inne jednostki daty i czasu

Powyższe przykłady dodają liczbę lat do daty, ale możemy użyć tych samych technik, aby dodać dowolną jednostkę daty/czasu. Zobacz jednostki daty i czasu MariaDB, aby uzyskać pełną listę jednostek daty/czasu, których można używać z powyższymi funkcjami i operatorem.


  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 TO_BASE64() działa w MariaDB?

  2. Jak uzyskać koniec miesiąca w MariaDB

  3. Jak przeprowadzić migrację bazy danych WHMCS do klastra MariaDB Galera

  4. MariaDB RTRIM() vs RTRIM_ORACLE():Jaka jest różnica?

  5. Ustaw język używany dla funkcji daty i godziny w MariaDB