Oracle查询查找不包含字符的字符串

时间:2015-06-19 22:10:38

标签: regex oracle ascii

什么是Oracle查询,它将返回字段mytable.myname包含任何字符其他而非

的所有记录
  1. A-Z
  2. a-z
  3. 0-9
  4. -/\()

1 个答案:

答案 0 :(得分:5)

您可以使用以下内容:

SELECT * FROM mytable WHERE REGEXP_LIKE (myname, '^[^a-zA-Z0-9\/\\()-]+$');

您也可以使用i修饰符执行相同操作:

SELECT * FROM mytable WHERE REGEXP_LIKE (myname, '^[^a-z0-9\/\\()-]+$', 'i');

说明:

  • ^字符串的开头
  • [^___ ]否定字符集(将匹配其中指定的字符以外的任何字符)
  • +不止一次匹配上一个群组
  • $字符串结尾