Добрый день, Джейкоб,
Пожалуйста, проверьте, подходит ли вам это решение:
Declare @YourTable table (SomeCol int)
Insert into @YourTable values
(2130)
,(103)
,(10)
,(1)
--Select SomeCol,TimeValue = format(SomeCol,'00:00'), SQL_VARIANT_PROPERTY (format(SomeCol,'00:00'),'BaseType')
--From @YourTable
SELECT CONVERT(TIME(0),TIMEFROMPARTS(ROUND(SomeCol/100,0), SomeCol%100,0,0,0))
FROM @YourTable
Опс, я заметил новую информацию в комментариях.Похоже, вы используете SQL Server 2008R2 и TIMEFROMPARTS не будет работать на SQL Server2008r2 (только начиная с 2012 года) ... Я отредактирую ответ через секунду
Примечание! Я настоятельно рекомендуюПодумайте о дизайне вашей базы данных. Пожалуйста, прочитайте комментарий, который я написал выше для получения дополнительной информации
Обновление:
-- For old servers please check if one of these this fit you
SELECT --RIGHT('00' + CONVERT(VARCHAR(2),ROUND(SomeCol/100,0)),2),RIGHT('00' + CONVERT(VARCHAR(2),SomeCol%100),2),
CONVERT(TIME(0),RIGHT('00' + CONVERT(VARCHAR(2),ROUND(SomeCol/100,0)),2) + ':' + RIGHT('00' + CONVERT(VARCHAR(2),SomeCol%100),2))
FROM @YourTable