You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle SQL Developer中查找非英文字符及NCLOB字段多字节字符

在Oracle SQL Developer中查找非英文字符及NCLOB字段的多字节字符查询

在Oracle SQL Developer界面中查找非英文字符

  • 打开目标表的数据视图(双击表名进入Data标签页)
  • 点击顶部的「Filter」按钮,或者右键目标列名选择「Filter」选项
  • 在过滤条件输入框中,针对目标字段编写正则过滤语句,示例:
    REGEXP_LIKE(your_column_name, '[^A-Za-z0-9[:punct:]]')
    
    该表达式会匹配所有不属于英文大小写、数字及英文标点的字符
  • 点击「Apply」后,结果集将展示包含非英文字符的行

编写查询语句查找非英/多字节字符

普通字符类型(VARCHAR2/CHAR)

直接使用REGEXP_LIKE匹配非ASCII范围的字符:

SELECT *
FROM your_table
WHERE REGEXP_LIKE(your_column, '[^[:ascii:]]');

如果需要更精准排除英文相关字符(仅匹配非英文字符),可以用:

SELECT *
FROM your_table
WHERE REGEXP_LIKE(your_column, '[^A-Za-z0-9 !@#$%^&*()_+\-=\[\]{};:\'",.<>?/\\|`~]');

NCLOB类型字段

NCLOB存储的是Unicode大对象,可直接用正则匹配多字节字符。若表数据量较大,建议先加ROWNUM限制样本范围:

SELECT *
FROM your_table
WHERE REGEXP_LIKE(your_nclob_column, '[^[:ascii:]]')
AND ROWNUM <= 100;

如果需要精准匹配特定语言的字符(如中文、日文),可以指定Unicode范围:

SELECT *
FROM your_table
WHERE REGEXP_LIKE(your_nclob_column, '[\u4E00-\u9FFF\u3040-\u309F\u30A0-\u30FF]');
  • \u4E00-\u9FFF:覆盖中文汉字范围
  • \u3040-\u309F:覆盖日文平假名范围
  • \u30A0-\u30FF:覆盖日文片假名范围

内容的提问来源于stack exchange,提问作者Murali Dharan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 09:45:35