2014-04-29 3 views
0

내가 MYSQL DB를 사용하고 날짜 및 예를 들어 다양한 형식으로 날짜 값을 포함하는 필드, 내가 대신 텍스트의 날짜 형식, 또한 현재 날짜 필드로 변환 할변환 텍스트 필드

1872-03-12 
21 SEP 1881 
July 14, 1847 
1886 
08 Apr 1851 
10 Feb 1898 
2/22/1883 
01 Oct 1854 
May 9,1909 
30 Oct 1856 
3 Nov 1856 
9 Jan 1856 
July 26, 1860 
Feb. 16, 1896 
1908-1920 
24 Nov 1853 
1/12/1881 
03 Dec 1819 
18 Sep 1883 
26 Nov 1868 

을 가지고 잘못된 날짜 값이 포함되어 있는데 변환하는 동안 무시해야합니다.

나는 다음을 시도하지만 때문에 다양한 형식으로 좋은 결과를 얻을하지 않았다

당신은 형식을 알아 내기 위해 노력 들여 수정해야하고 변환 할
Update IGNORE data set pDate = STR_TO_DATE(oldDate,'%d/%c/%Y') where pDate is null; 

답변

2

:

update ignore data 
    set pdate = (case when oldDate rlike '[12][0-9]{3}-[0-1][0-9]-[0-3][0-9]' 
         then str_to_date(oldDate, '%Y-%m-%d') 
         . . . 
       end) 

재미있는 소리가 들리지 않습니다. 그러나 열에 일관성없는 데이터가있는 것은 더욱 심각합니다.