我有一個日期作爲一個varchar形式哪個日期時間格式使用SQL Server
DD/MM/YYYY HH:MM:SS AM
例如
16/3/2012 4:39:26 PM
我看不到在MSDN page
爲CONVERT()
有效的格式選項,我缺少的東西或我必須首先格式化varchar字段?
編輯:
更正格式,比較遺憾的是
我有一個日期作爲一個varchar形式哪個日期時間格式使用SQL Server
DD/MM/YYYY HH:MM:SS AM
例如
16/3/2012 4:39:26 PM
我看不到在MSDN page
爲CONVERT()
有效的格式選項,我缺少的東西或我必須首先格式化varchar字段?
編輯:
更正格式,比較遺憾的是
一旦你得到你的故事直,你會想其中的一個:
-- if you really meant dd/mm/yyyy then:
SELECT CONVERT(DATETIME, '16/3/2012 4:39:26 PM', 103);
-- if you really meant mm/dd/yyyy then:
SELECT CONVERT(DATETIME, '3/16/2012 4:39:26 PM', 101);
但同意Madhivanan。不要使用錯誤的數據類型來存儲日期,如果必須的話,請使用明確的格式!
回答了我問的問題,即使它結果是錯誤的問題。 – Jaloopa 2012-07-26 11:39:36
DATETIME
類型來存儲日期YYYYMMDD
和YYYYMMDD HH:MM:SS
是明確的日期格式欲瞭解更多信息,請參閱本
不幸的是,這是從我無法控制的文件導入的。否則,我會確保使用明確的格式 – Jaloopa 2012-07-26 11:24:05
這將工作。
DECLARE @dt varchar(100)='2012/3/16 4:39:26 PM'
select convert(datetime,@dt,101)
但這不是** OP的輸入格式(字符串)..... – 2012-07-26 11:32:41
在轉換函數中使用103作爲選項 – AnandPhadke 2012-07-26 11:35:47
@AaronBertrand - 這將是十二月。 – 2012-07-26 11:18:44
@MattWhitfield我必須把它放在我的日曆上。 – 2012-07-26 11:29:35
好的,所以它看起來像以前的更新將希臘字母轉換爲上午/下午是問題。謝謝你的答案,但我應該多看看這個問題 – Jaloopa 2012-07-26 11:36:19