2016-05-02 28 views
-4

我有一個包含如日期值的VARCHAR字段:如何含有varchar字段類型日期轉換爲一個適當的日期格式

02042015 

如何將其轉換爲應返回的值類似日期格式:

2 Apr 2015 
+0

你有什麼試過的?您需要做的第一件事是確認數據庫中的每條記錄都遵循這種格式。 –

+0

@ Nick.McDermaid是數據庫中的所有記錄都包含相同的格式... – user6279935

+0

[Date has no display format。](http://stackoverflow.com/questions/30032915/how-to-cast-the- datetime-to-time/30033028#30033028)如果您需要顯示格式,則需要將字符串轉換爲另一個字符串。 –

回答

0

我想會有一些轉換格式,所以你可以把:

select(convert(datetime,'010109',<some magic number>)) 

和得到的結果,但我似乎無法找到一個給出正確的日期

你可以試試這個還有:

declare @dt varchar(6) 
select @dt = '010109' 
select convert(datetime,RIGHT(@dt,2) + SUBSTRING(@dt,3,2) + LEFT(@dt,2)) 
0

試試這個

DECLARE @V_DATE VARCHAR(20) = '02042015' 
SELECT CONVERT(varchar(11), 
      CONVERT(datetime,RIGHT(@V_DATE,4)+LEFT(@V_DATE,2)+SUBSTRING(@V_DATE,3,2)) 
      ,106) 
2

你可以使用CONVERT106格式如下:

declare @date varchar(60) = '02042015' 
select convert(varchar(20),cast(right(@date,4) + substring(@date,3,2) + left(@date,2) as datetime), 106) 

OUTPUT

02 Apr 2015 
相關問題