2014-10-08 225 views
0

如何將「18/06/11」之類的文本值轉換爲「2011-06-18」之類的日期格式?在SQL Server中將文本轉換爲日期

我曾嘗試以下

轉換(炭,[InstrumentText],106)

但該值只是停留在相同的格式

由於

+2

因爲你正在把它轉換爲字符。嘗試轉換爲日期時間。爲什麼您首先將日期信息存儲在char數據類型中? – 2014-10-08 13:36:43

+0

供將來參考請不要在店鋪日期作爲字符串!它會讓你的生活非常悲慘。 – Zane 2014-10-08 13:59:39

回答

0

我抓住這個從sqlusa .com:

SELECT CAST([InstrumentText] AS datetime)

+0

謝謝,但我得到以下錯誤:從字符串轉換日期和/或時間時轉換失敗。 – 2014-10-08 13:39:35

1

你的字符串正確的格式似乎是103

更重要的是,你需要轉換爲datetime不是一個char

convert(date,[InstrumentText], 103) 

然後,如果您想將其轉換回字符串格式爲yyyy-MM-DD,你可以這樣做:

convert(varchar(10), convert(date,[InstrumentText], 103), 120) 
1

嘗試

SELECT convert(datetime, '18/06/11' , 3)