首页 > 技术文章 > Oracle SQL语句 之 查询姓名中是否含非法字符

hdtiny 2018-02-06 08:49 原文

--查询姓名含非法字符的SQL语句

SELECT * FROM TABLE_NAME t

WHERE (REGEXP_LIKE(NAME, '[[:digit:]]+') OR

       REGEXP_LIKE(NAME, '[[:punct:]]'))

   AND NOT REGEXP_LIKE(NAME, '.*+\.^[\.]$')

   AND NOT REGEXP_LIKE(NAME, '.*+\?.*+')

   AND NOT REGEXP_LIKE(NAME, '.*+\..*+');

推荐阅读