Предполагая, что ваш ввод всегда будет целым, вы можете проанализировать его следующим образом:
DECLARE @stringTime varchar(6)
SET @stringTime = RIGHT('000000' + CAST(intTime AS VARCHAR), 6)
SELECT CAST(LEFT(@stringTime, 2) + ':' + RIGHT(LEFT(@stringTime, 4), 2) AS TIME) as TimeValue
Я бы определенно хотел изменить это поле на поле фактического времени или даты и времени, так как этот уровеньпреобразование не рекомендуется, особенно для интенсивно используемой базы данных.Просто действительно должен быть лучший способ хранения ваших данных.
Использование значения int таким способом позволяет получить много неверных данных, без добавления дополнительных проверок и / или ограничений на ваши входные данные (т.е.: 260000, 127900 и т. Д.)