2011-10-04 54 views
0

我試圖通過ADODB/SQL查詢CSV,並且結果需要按日期排序。挑戰是日期是以dd-mon-yy格式。我試圖使用CONVERTREPLACE但Excel 2003不斷拋出自動化錯誤在我身上。我已經單獨嘗試了以下兩項。在查詢csv時通過sql替換/轉換

隨着CONVERT:

"SELECT CONVERT(datetime,[Business Date],106) from [filename.csv]" 

替換爲:

"SELECT REPLACE([Business Date],'-',' ') from [filename.csv]" 

我沒有在CSV控制人工手動修正的日期是不是一種選擇。

回答

1

如何:

SELECT CDate(Right([Business Date],2) & "/" _ 
    & Mid([Business Date],4,3) & "/" _ 
    & Left([Business Date],2)) from [filename.csv] 

根據,當然,您的語言環境。我不相信轉換和替換可用於ADO。

+0

您錯過了CDATE的右括號。以下爲我工作。謝謝。從[filename.csv] –

+0

選擇CDate(左([Business Date],2)&「/」和Mid([Business Date],4,3)&「/」和Right([Business Date],2)) @ fasih.ahmed另一個想法,用'yy'格式,你可能遇到含糊不清的日期問題。如果可以的話,最好再增加幾位數字。 – Fionnuala

+0

不錯的建議,但這是大公司的事情之一,如果改變這一點至少需要一年時間。如果我正在控制數據,我會將其格式爲yyyy.mm.dd,因爲在這種情況下,基於詞法順序或unixtime進行排序會產生相同的結果。 –