2013-07-23 56 views
0

如何將YYYY-MM-DD-HH-MM-SS轉換爲datetime?如何將YYYY-MM-DD-HH-MM-SS轉換爲datetime sql服務器

例子:2013-07-01-18-37-09

我能做到下面的轉換

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09' 
SELECT CAST(Substring(@vardate,1,10) AS DATETIME) 

SELECT CAST(Substring(REPLACE(@vardate,'-',':'),12,19) AS TIME) 

但這不會隨着時間的工作..我搜索互聯網上,我看到的例子都涉及到YYYY-MM-DD HH:MM:SS

回答

3

嘗試:

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09' 
SELECT CAST(LEFT(@varDate, 10) + ' ' + REPLACE(RIGHT(@vardate,8), '-', ':') AS DATETIME) 
+0

+1這麼快。我正在嘗試使用不同的子字符串函數。 – Zerotoinfinity

2

爲什麼您應該設法避免將日期作爲日期時間值以外的任何日期傳遞的原因之一。這是一種方法:

DECLARE @vardate varchar (50) = '2013-07-01-18-37-09' 

select CONVERT(datetime,STUFF(STUFF(STUFF(@vardate,11,1,'T'),14,1,':'),17,1,':')) 
相關問題