返回非中文字符

来源:互联网 发布:域名到期删除查询 编辑:程序博客网 时间:2024/06/11 23:25

群友问如何返回数据中的非中文字符。

模拟数据源如下

CREATE OR REPLACE VIEW v ASSELECT '你好,很好bbb' AS c1 FROM dual UNION ALLSELECT '你好#' AS c1 FROM dual UNION ALLSELECT '你好a' AS c1 FROM dual UNION ALLSELECT '你好z' AS c1 FROM dual UNION ALLSELECT '你好A' AS c1 FROM dual UNION ALLSELECT '中華人民共和國a' AS c1 FROM dual;

这个以前没做过。尝试写法如下

SELECT regexp_substr(c1,'[a-zA-Z[:punct:][:space:]]+') FROM v

不过,自已也知道这种枚举方法不好。有可能会遗漏。

还是查下资料吧。

翻了几篇文章,大多是错的。

终于找到一种写法

SQL> SELECT regexp_substr(c1, '([^[:alpha:]]|[a-z,A-Z])+') FROM v;REGEXP_SUBSTR(C1,'([^[:ALPHA:]--------------------------------------------------------------------------------,#azAa6 rows selected

记之。

0 0
原创粉丝点击