2011-10-04 2 views
0

ADODB/SQL을 통해 CSV를 쿼리하려고하고 결과를 날짜순으로 정렬해야합니다. 문제는 날짜가 dd-mon-yy 형식이라는 것입니다. 을 사용하려고 시도했습니다.REPLACE이지만 Excel 2003에서는 자동화 오류가 계속 발생합니다. 나는 다음 두 가지를 개별적으로 시도했다. CONVERT와CSV를 쿼리하는 동안 sql을 통해 바꾸기/변환

:

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

교체로 : 나는 CSV을 제어 할 수 없습니다

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

는 수동으로 날짜를 수정하는 것은 옵션이 아닙니다.

답변

1

방법에 대해 :

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

귀하의 지역에, 물론, 따라. 나는 ADO가 Convert and Replace를 사용할 수 있다고 생각하지 않는다.

+0

CDATE의 닫기 괄호가 없습니다. 다음은 나를 위해 일했습니다. 감사. [filename.csv] –

+0

에서 CDate를 선택하십시오 (Left ([Business Date], 2) & "/"& Mid ([Business Date], 4,3) & "/"& Right ([Business Date], 2)) @ fasih.ahmed'yy' 형식을 사용하면 모호한 날짜의 문제가 발생할 수 있습니다. 할 수있는 한, 연도에 다른 두 자리 숫자를 더하는 것이 가장 좋습니다. – Fionnuala

+0

좋은 제안이지만이 변화를 가져 오는 것이 적어도 1 년은 걸리는 대기업 중 하나입니다. 데이터를 제어하고 있다면 yyyy.mm.dd로 형식을 지정합니다.이 경우 어휘 순서 또는 유닉스 시간에 기반한 정렬은 동일한 결과를 생성하기 때문입니다. –