Как я могу конвертировать bigint в часы и минуты в SQL? - PullRequest
0 голосов
/ 15 марта 2020

У меня следующая проблема: у меня есть база данных со столбцом BIGINT, и я пытаюсь преобразовать это в час, поэтому моя база данных выглядит следующим образом

id minutes hours and minutes 
------------------------------
1   400       null
2   450       null
3   421       null
4   140       null

Мне нужно преобразовать мой минуты, которые сохраняются как bigint в часы и минуты; Как я могу сделать это наилучшим образом?

Мне нужен этот результат

 id minutes hours and minutes 
 ----------------------------
    1   400       06:40
    2   450       07:30
    3   421       null
    4   140       null

Я новичок в этом, я погуглил, но я не мог найти ответ на свой вопрос, может кто-то мне помочь или дай ссылку - как мне это сделать? Спасибо

Ответы [ 2 ]

2 голосов
/ 15 марта 2020

Вы можете рассчитать часы и минуты, используя арифметику c:

select floor(minutes_col / 60) as hours,
       minutes_col % 60 as minutes

Некоторые базы данных используют mod() для функции по модулю.

Преобразование в строку очень сильно зависимый.

0 голосов
/ 16 марта 2020

SQL имеет тип данных специально для экономии времени: время (n) (n может быть между 0-7) Проверьте здесь для получения дополнительной информации об этом типе данных

Ваш третий столбец должен быть такого типа. Затем вы можете рассчитать часы и минуты из значений в столбце минут, как показано ниже:

часы = всего минут / 60 и минут = всего минут% 60. Затем сохраните «Час: минуты» в третьем столбце.

Надеюсь, это поможет.

...