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

Как да добавите време към стойност за дата и час в MySQL

Проблем:

Искате да добавите определено време към стойност за дата и час в база данни на MySQL.

Пример:

Нашата база данни има таблица с име flight_schedule с данни в колоните flight , aircraft и arrival_datetime .

полет самолет дата_на_пристигане
EK10 L1201 20.04.2019 15:15:00
AY12 K2001 2019-03-31 20:10:00
LA105 F205 2019-08-03 11:15:00
LH30 K256 2019-07-01 12:47:00

За всеки полет нека получим кода на полета, кода на самолета и нова дата и час на пристигане. За да изчислите new_arrival_datetime , ще добавим 2 часа и 10 минути към текущото време за всяко пристигане – толкова са забавени тези полети.

Решение:

Ще използваме ADDTIME() функция. Ето заявката, която бихте написали:

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

Ето резултата от заявката:

полет самолет new_arrival_datetime
EK10 L1201 20.04.2019 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

Дискусия:

Използвайте функцията ADDTIME(), ако искате да изберете нова дата и час, като добавите дадено време към стойност за дата/време/време.

Тази функция приема два аргумента. Първият аргумент е датата/часа, към който добавяме време; това може да бъде израз, който връща стойност за време/дата/време или името на колона за време/дата и час. В нашия пример използваме arrival_datetime колона, която е с дата и час тип данни.

Вторият аргумент е низ, съдържащ количеството време за добавяне към първия аргумент (в нашия пример „2:10“ или 2 часа и 10 минути).

Можете също да добавите частични секунди и дори дни към стойност за дата и час. Заявката по-долу добавя 3 дни, 1 час, 1 минута, 1 секунда и 111 дробни секунди към дата и час:

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

Връща:

2019-02-08 11:13:12.111000

ADDTIME() връща низ с новото време. В нашия пример, новото време на пристигане за полет „EK10“ е „2019-04-20 17:25:00“ – два часа и десет минути след първоначалната си дата и час

‘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. Попълване на JFreechart TimeSeriesCollection от Mysql DB?

  2. Как да конвертирам всички таблици от MyISAM в InnoDB?

  3. Вмъкване на няколко реда с една заявка MySQL

  4. Най-добрият тип данни за съхраняване на парични стойности в MySQL

  5. Миграция на Laravel:уникалният ключ е твърде дълъг, дори ако е посочен