我有sql查询,想替换除连字符(-),字母和数字之外的所有字符。如何在sql查询中做到这一点?
这将从输入字符串中删除所有的alphabets
和numbers
,并保留'-'
。
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;
您可以按类别表示非连字符或字母数字字符:
[^\-a-zA-Z0-9]
然后使用REGEXP_REPLACE
从您的列中删除这些字符:
SELECT REGEXP_REPLACE (col, '[^\-a-zA-Z0-9]', '')
FROM dual;