0

我想使用正则表达式从表中删除特殊字符(!、"、#、$、%、&、/. (,)、=、?、|)

SELECT
  '|R!$#&2-_D%2' as Original, 
  UPPER
  (
    REPLACE
    (
      ( MDS_Demo.mdq.regexReplace
        ('|R!2- _D%2',
         '[!|”#$%&/()=?»«;,:._]', '', 0
        )
      )
    , '  ', ' '
    ) 
  ) as Correct

要删除的字符和单词列表在一个表中,所以我想替换表达式中标识的字符列表,并使用一个选择表,其中列出了所有要删除的特殊字符。

SELECT
  '|R!$#&2-_D%2' as Original, 
  UPPER(REPLACE((MDS_Demo.mdq.regexReplace('|R!2- _D%2',
    < SELECT SPECIAL_CHARACTERS FROM TABLE01 >
    , '', 0)), '  ', ' ') ) as Correct

有什么建议么?

4

1 回答 1

0

我相信您可以将任何字符串表达式替换为(SELECT ...)

SELECT ltrim( (SELECT ' trimmed') ) as test在这里工作
http://sqlfiddle.com/#!6/8222f/4

..那么您< SELECT SPECIAL_CHARACTERS FROM TABLE01 >只需将所需的 SELECT 放在括号内就可以了吗?

于 2013-03-22T21:02:13.397 回答