只要它在你的表中,你就可以使用DUMP函数找到它。
使用DUMP 获取您希望检查异常的代码中数据的字节表示形式。
一个很好的概述:Oracle / PLSQL: DUMP Function
这里有一些纯 ASCII 文本:
select dump('Dashes-and "smart quotes"') from dual;
类型=96 长度=25:
68,97,115,104,101,115,45,97,110,100,32,34,115,109,97,114,116,32,113,117,111,116,101,115,34
现在介绍有趣的角色:
select dump('Dashes—and “smart quotes”') from dual;
类型=96 长度=31:
68,97,115,104,101,115,226,128,148,97,110,100,32,226,128,156,115,109,97,114,116,32,113,117,111,116,101,115,226,128,157
在这种情况下,字节数增加了,因为我的数据库正在使用UTF8。超出 ASCII 有效范围的数字会突出显示,可以进一步检查。
ASCIISTR 函数提供了一种更方便的方式来查看特殊字符:
select asciistr('Dashes—and “smart quotes”') from dual;
破折号\2014和\201Csmart报价\201D
这个将非 ASCII 字符转换为反斜杠 Unicode 十六进制。
DUMP 函数接受一个附加参数,可用于以一种很好的方式格式化输出:
select DUMP('Thumbs ?', 1017) from dual;
Typ=96 Len=11 CharacterSet=AL32UTF8: T,h,u,m,b,s, ,f0,9f,91,8d
select DUMP('Smiley ? Face', 17) from dual;
Typ=96 Len=16:S,m,i,l,e,y, ,f0,9f,98,8a, ,F,a,c,e