Reputation: 1189
I'm converting an int to time using the following code, but the result comes out as 09:00:00.000000 etc.
(cast(CAST(t0.U_ProdStartTime / 100 as varchar) + ':' + CAST(t0.U_ProdStartTime % 100 as varchar)
as time))
AS 'Start Time',
(cast(CAST(t0.U_ORC_BE_ProdTime / 100 as varchar) + ':' + CAST(t0.U_ORC_BE_ProdTime % 100 as varchar)
as time))
AS 'End Time',
I want it to only display 09:00:00?
Upvotes: 0
Views: 2519
Reputation: 242
you can use the 'FORMAT' to do this easily
FORMAT(GETDATE(), 'HH:mm')
Upvotes: 1
Reputation: 13700
This is one method I know
declare @t int
set @t=345
select convert(varchar(10),
(cast(CAST(@t / 100 as varchar) + ':' + CAST(@t % 100 as varchar)
as datetime)) ,108)
AS 'Start Time'
Result
Start Time
----------
03:45:00
Upvotes: 0
Reputation: 53
SELECT FORMAT(t0.U_ProdStartTime,'hh:mm') AS StartTime,FORMAT(t0.U_ORC_BE_ProdTime,'hh:mm') AS EndTime
FROM YourTable AS [to]
or if u need seconds u can use
SELECT FORMAT(t0.U_ProdStartTime,'hh:mm:ss') AS StartTime,FORMAT(t0.U_ORC_BE_ProdTime,'hh:mm:ss') AS EndTime
FROM YourTable AS [to]
Upvotes: 0