преобразование int в формат чч: мм - PullRequest
0 голосов
/ 10 октября 2019

У меня есть отдельные целые числа для часов и минут, и мне нужно найти способ получить общее количество часов, за которыми следуют минуты, предпочтительно в формате ЧЧ: ММ. Проблема, с которой я сталкиваюсь, заключается в том, что, когда минут меньше десяти, нет нуля в начале, и я делаю это по причинам отчетности, и поэтому мне бы хотелось иметь возможность сделать что-то вроде

Всего отработанных часов

102: 06 для обозначения 102 часов и 6 минут

DECLARE @hours INT  = 102
declare @minutes int = 6

SELECT
 CONCAT(CAST (SUM((@hours*60)+@minutes)/60 AS VARCHAR(5)) , ':' , CAST (SUM((@hours*60)+@minutes)%60 AS VARCHAR(2)))

Ответы [ 2 ]

1 голос
/ 10 октября 2019

В SQL Server вы можете сделать:

select concat(hours, ':',
              right('00' + minutes, 2)
             )

Другой способ будет:

select concat(hours, ':',
              right(convert(varchar(255), 100 + minutes), 2)
             )
0 голосов
/ 10 октября 2019

Просто еще один аналогичный параметр с использованием format ()

Пример

DECLARE @hours INT  = 102
declare @minutes int = 6

Select concat(@hours,format(@minutes,':00'))

Возвращает

102:06
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...