0
我試圖將轉換爲datetime的[YYYYmmdd hhmmss]格式的varchar列標題(Prod_time)。我需要能夠從特定天數中提取數據,並且我希望能夠將varchar轉換爲datetime以便於實現。如何將varchar轉換爲datetime
有沒有辦法將varchar轉換爲datetime?不需要特殊的日期時間格式,只需要進行數據類型轉換。
我試圖將轉換爲datetime的[YYYYmmdd hhmmss]格式的varchar列標題(Prod_time)。我需要能夠從特定天數中提取數據,並且我希望能夠將varchar轉換爲datetime以便於實現。如何將varchar轉換爲datetime
有沒有辦法將varchar轉換爲datetime?不需要特殊的日期時間格式,只需要進行數據類型轉換。
您需要在這裏強制使用幾個字符,以便convert函數知道如何處理這個問題。我們可以很容易地使用STUFF。根據提供的字符串格式,這工作。
declare @SomeChar varchar(20) = '20170216 100903'
select CONVERT(datetime, STUFF(STUFF(@SomeChar, 12, 0, ':'), 15, 0, ':'))
如果有可能,應該考慮將數據類型轉換爲日期時間。它消除了這種麻煩,並防止了無效值。
爲什麼哦爲什麼你在第一個地方將日期時間信息存儲在varchar列中?這必須是唯一最受濫用的數據類型決定。 –
相信我,如果我可以按自己的方式,我們不會將日期/時間數據存儲在varchar列中!它使得處理數據變得困難得多,並且需要額外的線條和操作。但在我工作的公司,管理政治和安全等方面阻礙了不必要的麻煩,例如這樣= / –