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
执行上述查询时,我无法替换非字母数字数据。可能是什么问题呢?
[不幸的是,MySQL不包含REGEXP_REPLACE
操作。您尝试使用的普通REPLACE
不适用于正则表达式。您需要在客户端代码或存储过程中执行此操作。
自MySQL 8.0起,您可以使用正则表达式从字符串中删除非字母数字字符。有方法REGEXP_REPLACE
这里是删除非字母数字字符的代码:
UPDATE {table} SET {column} = REGEXP_REPLACE({column}, '[^0-9a-zA-Z ]', '')