2016-03-01 64 views

回答

1

我不是一个Oracle SQL专家,无法测试解决方案,但我宁愿把它写方式如下:

SELECT * FROM my_table WHERE regexp_like(name_elem1,'[0-9A-Za-z\ \tàâçéèêëîïôûùüÿñæœ]+'); 

不同的消息来源说,一个人不能加入正则表达式字符类,所以我明确地说明了它们:[0-9A-Za-z]用于alnum,\ \t用于白色字符和一个扩展的法语字符列表。

+0

谢谢,如果我想包括破折号( - )也怎么样? –

+0

添加逃脱的短划线,即“\ - ” – radekg1000

0

如果你想要这些字符,那么不要使用'not'表达式......并考虑不区分大小写。

... regexp_like(name_elem1,'[[:alnum:][:blank:][àâçéèêëîïôûùüÿñæœ]]', 'i');

caveot:这只是寻找任何1个字符相匹配的表达。

下面是官方文档: https://docs.oracle.com/database/121/SQLRF/ap_posix.htm#SQLRF020

相关问题