Oracle数据库中的某个字段有时候会包含隐藏字符,导致无法查询到认为合适的结果(虽然隐藏字符无法看到,但是也占用字符)。
有时候需要特定的查询某个隐藏字符。
基于以上需求,总结如下方法。
查看字符编码
SELECT columnName,
utl_raw.cast_to_raw(columnName)
FROM tableName;
得到如下结果
index | COLUMNNAME | UTL_RAW.CAST_TO_RAW(COLUMNNAME) |
---|---|---|
1 | test | 74657374 |
2 | test | 7465017374 |
通过ASCII 编码一览表,可以查看具体存在的隐藏字符。
查找特定隐藏字符
通过ASCII 编码一览表中提供的字符,查找水平制表符,可以执行如下语句:
SELECT *
FROM tableName t
WHERE t.columnName like '%' || chr(9) || '%'