如何替换除字母,数字和" hypen"之外的所有其他字符。在oracle sql查询中

时间:2016-11-23 01:10:02

标签: sql regex oracle10g

我有sql查询,想要替换除连字符( - ),字母和数字之外的所有字符。 我怎么能在SQL查询

中这样做

请帮助我,因为我是regex和sql的新手

2 个答案:

答案 0 :(得分:0)

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

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

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

SELECT REGEXP_REPLACE (col, '[^\-a-zA-Z0-9]', '')
FROM dual;

答案 1 :(得分:0)

这会从输入字符串中删除所有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;