2016-03-14 171 views

回答

4
where left(convert(varchar,cast('01 '+replace('AUG FY2014','FY','') as datetime),112),6)='201408' 

感謝

+0

謝謝Rajesh!它正在工作okey ... – 4est

1

你需要兩個字符串轉換爲DATETIME值。第二個日期時間可以通過添加01被轉換爲yyyymmdd,並且可以通過轉換函數的expression_style=112處理,看到這個link更多細節

SELECT CONVERT(DATETIME,'201408'+'01',112) 

第一次約會需要一些解析爲FY是無效的日期字符串。刪除此字符串後,您可以將日期轉換爲可由expression_style=106處理的dd mon yyyy

SELECT CONVERT(DATETIME,REPLACE('1 ' + 'AUG FY2014', 'FY', ''),106) 
+0

當第二個查詢'201408'放入列名時,我得到錯誤: CONVERT(DATETIME,[Col1] +'01',112) – 4est

+0

如果Rajesh答案有效,您需要使用'LEFT([columnname],6)' – Jaco

+0

CONVERT(DATETIME,LEFT([col1],6)+'01',112) - >仍然錯誤 – 4est