2

由于与银行的接口,我需要从名称字段中整理出一些不需要的字符:

这是允许的范围:0 - 9、a - z、A - Z、/ - ? ( ) 。, ' + (空格) – 但不允许使用捷克语字符

我已经尝试过这样的事情,在几个时期得到了不必要的打击。和空格,但没有达到 100%:

SELECT CASE
          WHEN  REGEXP_LIKE (name,
                            '^([0-9a-zA-Z]* *+(|_|\-|\.))')
          THEN
             'true'
          ELSE
             'false'
       END AS tmp, avt.*
  FROM amcbankvendtable avt

此外,我还没有删除捷克字符。我知道参数字符类==a==给出ä,但在这种情况下,我想要相反的,不允许ûü,而只有u。(基本上只允许英文字母)。

所以:

  • 123456abc 没问题

  • 123û 不行

  • 123#& 不行(#& 不允许字符)

有任何想法吗?

4

1 回答 1

0

您可以使用如下表达式:

[^0-9a-zA-Z/?().,' +-]

如果匹配,则存在不允许的内容。

于 2013-04-26T21:26:13.820 回答