2012-07-26 19 views
0

我有一個日期作爲一個varchar形式哪個日期時間格式使用SQL Server

DD/MM/YYYY HH:MM:SS AM 

例如

16/3/2012 4:39:26 PM 

我看不到在MSDN page

CONVERT()有效的格式選項,我缺少的東西或我必須首先格式化varchar字段?

編輯:

更正格式,比較遺憾的是

+3

@AaronBertrand - 這將是十二月。 – 2012-07-26 11:18:44

+0

@MattWhitfield我必須把它放在我的日曆上。 – 2012-07-26 11:29:35

+0

好的,所以它看起來像以前的更新將希臘字母轉換爲上午/下午是問題。謝謝你的答案,但我應該多看看這個問題 – Jaloopa 2012-07-26 11:36:19

回答

5

一旦你得到你的故事直,你會想其中的一個:

-- 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。不要使用錯誤的數據類型來存儲日期,如果必須的話,請使用明確的格式!

+0

回答了我問的問題,即使它結果是錯誤的問題。 – Jaloopa 2012-07-26 11:39:36

-2

這將工作。

DECLARE @dt varchar(100)='2012/3/16 4:39:26 PM' 
select convert(datetime,@dt,101) 
+1

但這不是** OP的輸入格式(字符串)..... – 2012-07-26 11:32:41

+0

在轉換函數中使用103作爲選項 – AnandPhadke 2012-07-26 11:35:47