问题描述
嗨,汤姆,
我有一个表格,在一列中有特殊字符。列值是这样的plsql
下面。
我可以用十进制值打印所有普通字符和特殊字符,因为我不能附加结果集,所以我不能显示特殊字符accii值。有没有一种方法可以在Ask Tom中上传屏幕截图,以清楚地显示我的想法?以上plsql可以在ascii值中显示看不见的特殊字符。但是一些特殊字符ascii值 = 49819,这是正确的吗?
亲切的问候,
德里克
我有一个表格,在一列中有特殊字符。列值是这样的plsql
下面。
set serveroutput on;
declare
c varchar2 (100);
a number;
begin
for i in ( select ekd0756_current_value from prdusrvi.EKD0756 where record_id =2292 )
loop
for j in 1..length(i.ekd0756_current_value)
loop
c := substr(i.ekd0756_current_value,j,1);
a := ascii (c);
dbms_output.put_line (j || '|' || c || '| ' || a);
end loop;
dbms_output.put_line ('----------------------------------');
end loop;
end;
/我可以用十进制值打印所有普通字符和特殊字符,因为我不能附加结果集,所以我不能显示特殊字符accii值。有没有一种方法可以在Ask Tom中上传屏幕截图,以清楚地显示我的想法?以上plsql可以在ascii值中显示看不见的特殊字符。但是一些特殊字符ascii值 = 49819,这是正确的吗?
亲切的问候,
德里克
专家解答
我不知道你在问什么。ASCII函数
returns the decimal representation in the database character set of the first character of char.
因此,字符具有在您的字符集中49,819的值。
如果共享此输出和转储函数,则可以看到存储在列中的值。即使它们是 “不可见” 或不可打印的字符。
如果要显示这些值的插入,请将ASCCI返回的值传递给CHR:
returns the decimal representation in the database character set of the first character of char.
因此,字符具有在您的字符集中49,819的值。
如果共享此输出和转储函数,则可以看到存储在列中的值。即使它们是 “不可见” 或不可打印的字符。
如果要显示这些值的插入,请将ASCCI返回的值传递给CHR:
create table t (
c1 varchar2(10)
);
insert into t values ( chr(49819) );
insert into t values ( chr(10) );
select c1, ascii ( c1 ), dump ( c1 ) from t;
C1 ASCII(C1) DUMP(C1)
? 49819 Typ=1 Len=2: 194,155
10 Typ=1 Len=1: 10 文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




