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

8 sposobów na dodanie sekund do wartości daty i godziny w MariaDB

Jeśli potrzebujesz dodać jedną lub więcej sekund do wartości daty i godziny w MariaDB, oto 8 opcji do rozważenia.

DATE_ADD() Funkcja

DATE_ADD() funkcja umożliwia dodanie kwoty do wyrażenia daty lub daty i godziny. Obejmuje to dodawanie części czasu, takich jak godziny, minuty, sekundy itp.

Przykład:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Wynik:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

W tym przypadku dodałem 35 sekund do wyrażenia datetime. Zwróć uwagę, że SECOND słowo kluczowe pozostaje w liczbie innej niż liczba mnoga, niezależnie od tego, czy dodaję jedną sekundę, czy więcej.

Oto, co się stanie, jeśli podam tylko datę:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);

Wynik:

+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 SECOND) |
+--------------------------------------------+
| 2021-05-01 00:00:35                        |
+--------------------------------------------+

Część czasu jest dodawana do wyniku i zakłada się, że początkowy czas to 00:00:00 .

Dodając 60 sekund, możemy alternatywnie użyć MINUTE słowo kluczowe, jeśli wolimy:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);

Wynik:

+----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:01:00                                |
+----------------------------------------------------+

Ta technika oczywiście działa z 120 sekundami, 180 i tak dalej. Po prostu użyj odpowiedniej liczby minut.

Możesz również użyć złożonej jednostki daty/godziny, aby dodać wiele jednostek. Na przykład, jeśli chcesz dodać 1 minutę i 30 sekund, możesz to zrobić:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND);

Wynik:

+----------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) |
+----------------------------------------------------------------+
| 2021-05-01 10:01:30                                            |
+----------------------------------------------------------------+

Zobacz MariaDB Date and Time Units, aby uzyskać pełną listę jednostek daty/czasu.

ADDDATE() Funkcja

Innym sposobem na dodanie sekund do wyrażenia daty i godziny jest użycie ADDDATE() funkcjonować. Ta funkcja ma dwie składnie:

  1. Jedna składnia pozwala dodać liczbę dni do daty, czego nie robimy tutaj (chyba że planujemy dodać sekundy w blokach po 86 400, czyli ile sekund ma dzień).
  2. Inna 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 10:00:00', INTERVAL 35 SECOND);

Wynik:

+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+----------------------------------------------------+
| 2021-05-01 10:00:35                                |
+----------------------------------------------------+

DATE_SUB() Funkcja

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

Przykład:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Wynik:

+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+------------------------------------------------------+
| 2021-05-01 10:00:35                                  |
+------------------------------------------------------+

SUBDATE() Funkcja

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

Przykład:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Wynik:

+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

+ Operator

Inną opcją jest użycie + operator.

+ Operator służy do dodawania i możemy go używać w datach, wraz z odpowiednią jednostką daty/czasu, aby dodać określoną liczbę sekund do naszego wyrażenia daty i godziny.

Przykład:

SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;

Wynik:

+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 SECOND |
+--------------------------------------------+
| 2021-05-01 10:00:35                        |
+--------------------------------------------+

- 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 wyrażenia daty i godziny:

SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;

Wynik:

+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 SECOND |
+---------------------------------------------+
| 2021-05-01 10:00:35                         |
+---------------------------------------------+

ADDTIME() Funkcja

Możesz użyć ADDTIME() funkcja dodawania liczby sekund do wyrażenia daty i godziny.

Przykład:

SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30');

Wynik:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 10:00:30                        |
+--------------------------------------------+

Jedną z zalet tej funkcji jest możliwość zmiany innych jednostek czasu, takich jak godziny, minuty itp.

SUBTIME() Funkcja

Alternatywnie możesz to zmienić i użyć SUBTIME() z ujemną wartością, jeśli sobie tego życzysz:

SELECT SUBTIME('2021-05-01 10:00:00', '-00:00:30');

Wynik:

+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:30') |
+---------------------------------------------+
| 2021-05-01 10:00:30                         |
+---------------------------------------------+

Inne jednostki daty i czasu

Powyższe przykłady dodają liczbę sekund do wartości daty i czasu, ale możemy użyć tych samych technik, aby dodać dowolną jednostkę daty/czasu. Zobacz MariaDB Date and Time Units, aby uzyskać pełną listę jednostek daty/czasu, których można używać z powyższymi funkcjami i operatorami.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB Z WYJĄTKIEM Operatora wyjaśniono

  2. Napraw „BŁĄD 1222 (21000):Użyte instrukcje SELECT mają inną liczbę kolumn” podczas korzystania z UNION w MariaDB

  3. Jak SEC_TO_TIME() działa w MariaDB

  4. Jak REGEXP_REPLACE() działa w MariaDB

  5. Jak chronić bazę danych MySQL lub MariaDB przed wstrzyknięciem SQL:część pierwsza