Пожалуйста, попробуйте это решение, поскольку @Gordon Linoff предлагает решение, которое вы можете заархивировать ваши требования с помощью функции timefromparts()
, вы также можете получить результат в соответствии с вашими потребностями, как я объяснил ниже.
Решение 1: Время с AM/PM
.
DECLARE @IntValue INT = 1516
SELECT CONVERT(VARCHAR, timefromparts(@IntValue / 100, @IntValue % 100, 0, 0, 0), 100) AS Time
OutPut
Решение 2: Время без AM/PM
.
DECLARE @IntValue INT = 1516
SELECT LEFT(CONVERT(VARCHAR, timefromparts(@IntValue / 100, @IntValue % 100, 0, 0, 0), 100) ,PATINDEX('%[a,p]m',CONVERT(VARCHAR, timefromparts(@IntValue / 100, @IntValue % 100, 0, 0, 0), 100) )-1) AS Time
Выход