我之前尝试过类似问题的链接,但它不起作用。所以我在这里发帖子。
我有时间格式:
09:47:11:895799
这在我的Microsoft SQL Server数据库中存储为varchar(50)
。
我正在尝试将其转换为时间格式,如此link。
hh:mm:ss[.nnnnnnn]
你能帮忙吗?
答案 0 :(得分:14)
字符串的格式错误。它应该是09:47:11.895799
。您需要将最终:
替换为.
SELECT CAST(STUFF('09:47:11:895799', 9,1,'.') AS TIME)
答案 1 :(得分:6)
您还可以将字符串设为hh:mi:ss:mmm
(24小时格式),然后将convert
设为时间。这意味着从毫秒中删除最后3位数而不用':'
'.'
有关格式化的详细信息,请参阅MSDN link。以下是SQL Fiddle
的工作示例DECLARE @s varchar(50) = '09:47:11:895799'
SELECT Convert(time, Left(@s,Len(@s)-3), 114)