2016-03-01 66 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

相關問題