将varchar转换为time - T-SQL

时间:2016-03-18 08:06:53

标签: sql-server tsql date

请参阅下面的代码,我想将SmsStartTime转换为时间。

因此,下面的结果必须 16:00:00.0000000

DECLARE @SmsStartTime AS VARCHAR(2) = 16

--SELECT @SmsStartTime
SELECT CAST(@SmsStartTime AS TIME) 

以下结果需要 05:00:00.0000000

DECLARE @SmsStartTime AS VARCHAR(2) = 5

--SELECT @SmsStartTime
SELECT CAST(@SmsStartTime AS TIME) 

2 个答案:

答案 0 :(得分:4)

试试这个(如果你有SQL Server 2012):

DECLARE @SmsStartTime AS VARCHAR(2) = 5
SELECT TIMEFROMPARTS(@SmsStartTime,0,0,0,7)

https://msdn.microsoft.com/en-us/library/hh213398.aspx

答案 1 :(得分:1)

你可以试试这个 -

DECLARE @SmsStartTime AS VARCHAR(2) = 16 

SELECT CAST(@SmsStartTime + ':00:00' AS TIME)

<强>结果

16:00:00.0000000