<p>MySQL의 날짜 열에 대한 기본 날짜 형식은 <code>YYYY-MM-DD HH:MM:SS</code>입니다. </p>
<p>로드하려는 데이터 파일에 <code>DD-MON-YY HH:MM:SS</code> 형식의 날짜 필드가 있습니다. <code>LOAD DATA</code> 명령을 사용하여 이 파일을 로드하면 데이터베이스가 혼란스러워지고 모든 날짜 항목이 <code>0000-00-00 00:00:00</code> </p>
<p>이것은 <code>STR_TO_DATE</code> 옵션을 사용한 테스트이지만 작동하지 않습니다.</p>
<p><strong>测试文件(test_temp.csv)</strong></p>
<pre class="brush:php;toolbar:false;">c1, c2
6월 12일 7일 22:50:19, "abc"
6월 13일 7시 22:50:19, "bcd"</pre>
<p><strong>测试表(temp_test)</strong></p>
<pre class="brush:php;toolbar:false;">temp_test; 설명
+---------+------------+------+------+---------+---- ---+
| 필드 | 유형 | 널 | 열쇠 | 기본값 | 추가 |
+---------+------------+------+------+---------+---- ---+
| c1 | 날짜/시간 | 예 | | NULL | |
| c2 | varchar(10) | 예 | | NULL | |
+---------+------------+------+------+---------+---- ---+</pre>
<p><strong>数据加载命令:</strong></p>
<pre class="brush:php;toolbar:false;">데이터 로드
파일 '/var/lib/mysql/DataSet-1/temp_test.csv'
무시하다
테이블 temp_test에
','로 끝나는 필드
'''로 묶음
'rn'으로 끝나는 줄
1줄 무시
(@var_c1,c2)
c1 = STR_TO_DATE(@var_c1,'%d-%b-%y %h:%i:%s');</pre>
<p><strong>판매</strong></p>
<pre class="brush:php;toolbar:false;">쿼리 확인, 2개 행이 영향을 받음, 2개 경고(0.00초)
기록: 2 삭제: 0 건너뛰기: 0 경고: 0
MySQL> 경고 표시;
+---------+------+--------- --------------------------+
| 레벨 | 코드 | 메시지 |
+---------+------+--------- --------------------------+
| 오류 | 1411 | 잘못된 날짜 시간 값: str_to_date 함수에 대한 '07-JUN-12 22:50:19' |
| 오류 | 1411 | 잘못된 날짜 시간 값: str_to_date 함수에 대한 '07-JUN-13 22:50:19' |
+---------+------+--------- --------------------------+
MySQL> temp_test에서 *를 선택하십시오.
+------+------+
| c1 | c2 |
+------+------+
| NULL | ABC |
| NULL | BCD |
+------+------+</pre>
<p>问题출재:</p>
<올>
<li>输入日期列(应该是<code>07-JUN-12</code>还是<code>07-Jun-12</code>)或</li>
<li>나의 格式字符串(<code>%d-%b-%y</code>)或</li>
<li>其他原因?</li>
당신의 것
STR_TO_DATE()
的格式字符串无效。您的样本数据中的小时使用24小时制(%H
或%k
),而不是12小时制(%h
). 가능한 모든 날짜 형식 지정자를 여기에서 볼 수 있습니다.윌
으아악이(가)
로 수정되었습니다. 으아악귀하의 진술서는 다음과 같습니다
으아악샘플 데이터 로딩 후
으아악