Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dodać czas do wartości daty i godziny w MySQL?

Problem:

Chcesz dodać określoną ilość czasu do wartości daty i godziny w bazie danych MySQL.

Przykład:

Nasza baza danych zawiera tabelę o nazwie flight_schedule z danymi w kolumnach flight , aircraft i arrival_datetime .

lot samolot arrival_datetime
EK10 L1201 2019-04-20 15:15:00
AY12 K2001 31-03-2019 20:10:00
LA105 F205 2019-08-03 11:15:00
LH30 K256 2019-07-01 12:47:00

Dla każdego lotu uzyskajmy kod lotu, kod samolotu oraz nową datę i godzinę przylotu. Aby obliczyć new_arrival_datetime , dodamy 2 godziny i 10 minut do aktualnego czasu dla każdego przylotu – tyle opóźniły się te loty.

Rozwiązanie:

Użyjemy ADDTIME() funkcjonować. Oto zapytanie, które możesz napisać:

SELECT flight,
       aircraft,
       ADDTIME(arrival_datetime, ‘2:10’) 
         AS new_arrival_datetime
FROM flight_schedule;

Oto wynik zapytania:

lot samolot new_arrival_datetime
EK10 L1201 2019-04-20 17:25:00
AY12 K2001 2019-03-31 22:20:00
LA105 F205 2019-08-03 13:25:00
LH30 K256 2019-07-01 14:57:00

Dyskusja:

Użyj funkcji ADDTIME(), jeśli chcesz wybrać nową datę/godzinę przez dodanie podanej godziny do wartości daty/daty/czasu/czasu.

Ta funkcja przyjmuje dwa argumenty. Pierwszym argumentem jest data/godzina, do której dodajemy czas; może to być wyrażenie zwracające wartość czasu/daty/godziny/znacznika czasu lub nazwę kolumny czasu/daty/godziny/znacznika czasu. W naszym przykładzie używamy arrival_datetime kolumna, która zawiera data i godzina typ danych.

Drugi argument jest ciągiem zawierającym ilość czasu do dodania do pierwszego argumentu (w naszym przykładzie „2:10” lub 2 godziny i 10 minut).

Możesz także dodać ułamki sekund, a nawet dni do wartości daty/godziny. Poniższe zapytanie dodaje 3 dni, 1 godzinę, 1 minutę, 1 sekundę i 111 ułamków sekund do daty i godziny:

SELECT ADDTIME('2019-02-05 10:12:11', '3 1:1:1.111'); 

Zwraca:

2019-02-08 11:13:12.111000

ADDTIME() zwraca ciąg z nowym czasem. W naszym przykładzie nowy czas przylotu lotu „EK10” to ‘2019-04-20 17:25:00’ – dwie godziny i dziesięć minut po pierwotnej dacie

‘2019-04-20 15:15:00’.   

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException Indeks parametru poza zakresem (1> liczba parametrów, czyli 0)

  2. Wybierz datę MySQL równą dzisiejszej

  3. Praca z wyzwalaczami w bazie danych MySQL — samouczek

  4. Jak zainstalować WordPress:oprogramowanie serwerowe

  5. Awaria MySQL Innodb