在pl/sql develop中测试chr(0)时,后面的内容不显示,测试结果如下:
select 'aaa' || chr(0) || 'bbb' from dual; --aaa
select length('aaa' || chr(0) || 'bbb') from dual; --7
select substr('aaa' || chr(0) || 'bbb', 5, 3) from dual; --bbb
select substr('aaa' || chr(0) || 'bbb', 2, 5) from dual; --aa
但是在orcle自带的sqlplus中测试结果却不同.
SQL> select 'aaa'||chr(0)||'bbb' from dual;
'AAA'||
-------
aaa bbb
SQL> select substr('aaa' || chr(0) || 'bbb', 5, 3) from dual;
SUB
---
bbb
SQL> select substr('aaa' || chr(0) || 'bbb', 2, 5) from dual;
SUBST
-----
aa bb
这种结果很奇怪,网上有说法是:chr(0)是c语言的字符串结束符,可能pl/sql develop是用c写的,这是pl/sql develop的bug
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21251711/viewspace-1019591/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21251711/viewspace-1019591/