學習chr(0)

pwz1688發表於2009-03-30
看論壇裡一則“chr(0)的奇特用法”的貼子,有點意思~~[@more@]

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 developbug

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21251711/viewspace-1019591/,如需轉載,請註明出處,否則將追究法律責任。

相關文章