2012-05-29 5 views
0

큰 CSV를 테이블로 가져온 후 내 경우에 큰 문제가 발생했습니다 : CSV 날짜의 형식은 MM MM YYYY이고 가져 오기를 시도하면 날짜/시간대로 변환하면 작동하지 않습니다. 그래서 괜찮아요 대신 날짜/DATETIME 대신 CHAR 형식으로 그것을하고 지금까지 작동합니다. (내 예 : VisitTime CHAR (10)) 여기복잡한 컨텍스트에서 날짜 및 날짜 시간 문제

하지만 내가 2 열에서 날짜 열을 만들기 위해 연결할 수없는 CHAR 내부의 데이터와 문제입니다 (내 예는 다음과 같습니다 VisitTime CHAR (10) DATE 일 예정 이었지만 잘못된 형식 DD MM YYYY 및 시간 (TIME) 하단 라인 : 다른 테이블에 열이 필요함 VisitTimeandHour DATETIME VisitTIME CHAR (10) HourTime TIME. 솔루션은 아마도 내가 VARCHAR에 대해 이야기 한 모든 컬럼을 만들고 있었고 아무런 문제가 없다고 생각했지만 날짜와 날짜를 고수하고 싶습니다 :) Waiting 솔루션을 위해 미리 감사드립니다.

내가 틀렸다면 정정 해 주겠다. 그렇지만 변수로 가져 오려고하면 괜찮습니까? 그리고 csv에서 변환해야하는 날짜의 예는 다음과 같습니다. 22/04/2005) 코드 :

SET @ var1 = NULL; 로드 데이터 INFILE 'XXXX/XXX/XXX/XXX/XXX'표 vizite_intermtest 문자 세트 UTF8 필드 무시 ','가 '\ n을'종료 라인 말단에 1 개 라인 (@ VAR1, OraIntrare, NumePacient , PrenumePacient, NumeMedic, PrenumeMedic, Cabinet) SET 방문 시간 = STR_TO_DATE (@ var1, '% d/% m/% y'); 내가 이것을 시도하는 경우

는 말한다 :립니다 inccorect 값 22/04/2005은 LE

(내가 그것을에서 수입을하고 싶은지 VisitTime 열이 CHAR 유형의) : 그것은 변수로 가져 작동 그리고 그것을 변환하지만 내가///그 (것)들 사이에서 두는 아직도 나에게 시간 형식을 준다 - - - 어떤 생각?

답변

1

DATE/DATETIME 필드를 사용해야하지만 들어오는 데이터를 해석하는 방법을 MySQL에 알려야합니다. 난 당신이 데이터를 가져올 방법 확실하지 않다,하지만 기능은 날짜가 STR_TO_DATE 같이 문자열을 해석하는 자세한 정보에 대한

STR_TO_DATE('01 02 2003', '%d %m %Y') 

은 다음을 참조 : 어쩌면 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date

+0

내가 변수를 설정하는 경우를 가져 오기 및 그 이후에 어쩌면 그것을 설정하고 날짜의 적절한 날짜 유형으로 변환 CSV에서 가져올 수 있을까요? –

+0

당신의 포스트 종류가 뭔가 다른 것을 떠올리는데 도움이되었습니다. 마침내 내가 올려 놓은 방법으로 해결했습니다. 하지만 그것은// /로 정확히 포맷으로 가져 오지 않습니다. 위의 정의를 제공하면 어쩌면 도움이 될 수 있습니다. –

+0

약간의 추측이지만 % Y 대신 % Y를 넣었다고 생각합니다. % Y는 두 자리 연도이고 % Y는 4 자리수이기 때문에 대소 문자를 구분합니다. – asc99c