2016-09-08 66 views
-2

此例如:我怎麼能這個查詢結果轉換爲日期格式(SQL Server)的

concat (concat('201', (substring('A41020', 2, 1)), '-', (substring('B210906', 6, 2)) 

,結果是2014-06。

什麼額外的查詢,我可以用來更改此字符串(2014-06)日期格式,而我檢索數據?

現在,我必須在Excel中使用此查詢中的數據時更改單元格格式。

高手幫我

+0

薩拉姆·穆罕默德..請你想要做什麼給更多的細節。什麼是'A41020'和'B210906'。 – Munavvar

回答

1

使用下面query..here我設置的日期爲01,您可以按照您的要求而改變。您也可以在這種情況下使用CONVERT或CAST功能。

SELECT CONVERT(datetime,'201'+substring('A41020', 2, 1)+'-'+substring('B210906', 6, 2)+'-01') 

OR

SELECT CAST(('201'+substring('A41020', 2, 1)+'-'+substring('B210906', 6, 2)+'-01')as datetime) 

enter image description here

+0

謝謝大師@Unnikrishnan R,這個問題解決了 –

+0

你總是歡迎.. :)快樂編碼.. !! –

0

如果這是您要轉換的表列:

CONVERT(DATETIME,[Your-column]) 

如果你想選擇查詢的結果轉換:

CONVERT(DATETIME,[select query]) 

當你嘗試將字符串轉換爲日期時間,字符串應該有年份,月份和日期,否則您將需要附加丟失的任何一個。

就你而言,你的結果是2014-06缺少日期部分。如果你嘗試轉換它,它會給你一個轉換錯誤。 您可以通過添加日期部分來轉換上述字符串。

select convert(datetime,'2014-06-01'); 

它會給如下結果:

Output

+0

@jibinBalachardran我試過了,但是在SQL服務器上有消息說轉換日期和/或時間從字符串轉換失敗 –

+0

@MuhammadDodySuhada,你想要轉換爲日期時間的字符串是什麼? –

+0

@MuhammadDodySuhada向我顯示該查詢的輸出 –