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


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

我想从字符串中替换所有非字母数字字符,包括字符串中的.file扩展名,如下所示。用空字符串替换非字母数字字符MYSQL

AXS00003600.txt to AXS 
NXS4DG00003600.txt to NXS4DG 

我无法在执行上述查询时替换非字母数字数据。可能是什么问题呢?

+0

可能重复的[MySQL:如何从字符串中删除所有非字母数字字符?](http://stackoverflow.com/questions/6942973/mysql-how-to-remove-all-non-alpha- numeric-characters-from-a-string) – Kzqai

回答

0

不幸的是,MySQL不包含REGEXP_REPLACE操作。您正在尝试使用的普通REPLACE不适用于正则表达式。您需要在客户端代码或存储过程中执行此操作。

+0

@Over jones非常感谢 – user1633295