regexReplace使用select

时间:2013-03-22 15:35:09

标签: sql regex sql-server-2012

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

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

要删除的字符和单词列表位于表中,因此我想替换表达式中标识的字符列表,并使用select到表中列出要删除的所有特殊字符。

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

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我相信你可以用(SELECT ...)

替换任何字符串表达式

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

..所以,你有< SELECT SPECIAL_CHARACTERS FROM TABLE01 >只需将所需的SELECT放在括号内,你就可以了吗?