2012-09-11 3 views
2
select 
    file, 
    REPLACE(FILE, '[:alnum:]'+'.'+,'') AS Collection 
FROM 
    CollectionData; 


select 
    file, 
REPLACE(FILENAME, '^[a-zA-Z0-9\.]','') AS Collection 
FROM collectiondata; 

아래와 같은 문자열에서 .file 확장자를 포함한 문자열의 모든 영숫자를 대체하고 싶습니다.영문자가 아닌 문자열을 빈 문자열로 바꾸십시오.

AXS00003600.txt to AXS 
NXS4DG00003600.txt to NXS4DG 

은 내가 위의 쿼리를 실행할 때 비 알파를 숫자 데이터를 대체 할 수 없습니다입니다. 무엇이 문제 일 수 있습니까?

+0

가능한 중복 [MySQL : 문자열에서 모든 비영 숫자 문자를 제거하는 방법?] (http://stackoverflow.com/questions/6942973/mysql-how-to-remove-all-non-alpha- 문자열에서 숫자 - 문자) – Kzqai

답변

0

불행히도 MySQL에는 REGEXP_REPLACE 작업이 포함되어 있지 않습니다. 사용하려는 일반 REPLACE은 정규식과 호환되지 않습니다. 클라이언트 코드 나 저장 프로 시저에서이 작업을 수행해야합니다.

+0

@Olie jones 고마워요. – user1633295

관련 문제