2013-10-30 61 views
1

使用TSQL,將數據類型字符串格式化日期'mmm-dd-yyyy'轉換爲數據類型日期的最有效方法是什麼格式 'YYYY-MM-DD'使用T-SQL,如何將日期格式mmm-dd-yyyy轉換爲yyyy-mm-dd

實施例:

原始日期時間:Jan-31-2013

轉換後的日期:2013年1月31日

我一直在尋找在這個轉換文件但沒有成功。 http://msdn.microsoft.com/en-us/library/ms187928.aspx

+0

'1月 - 31 - 2013年'是它的字符串或日期時間(日期)數據類型? –

+0

您的「原始日期」是數據庫中的一列嗎?它的數據類型是什麼?你想要將其轉換爲什麼數據類型?一個DateTime?爲VarChar? NVARCHAR?你爲什麼試圖「轉換」它呢?使用日期作爲日期有什麼問題; TSQL在沒有任何轉換的情況下處理日期類型。 –

+0

原始日期將作爲字符串傳入 – user2601995

回答

1

這樣可以解決您的問題,但不知道是否有更高效的解決方案?

declare @DateTime as varchar(max) 
set @DateTime = 'Jan-31-2013'; 
select cast(substring(@DateTime,8,4) + '-' + substring(@DateTime,1,3) + '-' + substring(@DateTime,5,2) as date) 


SQL Result Image

3

最有效的方式返回日期:

select convert(date, replace('Jan-31-2013', '-', ' '), 0) 

最有效的方式返回爲char(10):

select convert(char(10),convert(date, replace('Jan-31-2013', '-', ' '), 0), 126) 
1

更改日期格式從MM/DD/YY到MM/DD/YYY:

SELECT Substring(trans_date, 4, 2)+'-'+Substring(trans_date, 1, 2)+'-'+'20'+SUBSTRing(trans_date, 7, 2) ,* from TempTable 
相關問題