如何在Oracle SQL查询中替换除字母,数字和“连字符”以外的所有其他字符

问题描述 投票:2回答:2

我有sql查询,想替换除连字符(-),字母和数字之外的所有字符。如何在sql查询中做到这一点?

sql regex oracle10g
2个回答
1
投票

这将从输入字符串中删除所有的alphabetsnumbers,并保留'-'

SELECT 'Rajkakla-53535-' As Strng, REGEXP_REPLACE(REGEXP_REPLACE ('Rajkakla-53535-', '[A-Za-z]',''), '[0-9]','') As No_Alphnum
FROM dual;

或者您可以使用:

SELECT REGEXP_REPLACE ('Rajkakla-53535-', '[a-zA-Z0-9]', '')
FROM dual;

0
投票

您可以按类别表示非连字符或字母数字字符:

[^\-a-zA-Z0-9]

然后使用REGEXP_REPLACE从您的列中删除这些字符:

SELECT REGEXP_REPLACE (col, '[^\-a-zA-Z0-9]', '')
FROM dual;
© www.soinside.com 2019 - 2024. All rights reserved.