вторник, 4 августа 2015 г.

PLSQL. Null-символ или CHR(0) в Oracle (PL\SQL).



Oracle не отображает строку следующую после символа CHR(0). Многие языки программирования считают символ CHR(0) концом строки, поэтому после него информация не отображается.

 Например, такой запрос вернет полную строку:
SQL> select '111'||'222' "Result" from dual;
Result
------
111222
А такой запрос вернет только строку до символа CHR(0):
SQL> select '111'||CHR(0)||'222'"Result" from dual;
Result
-------
111
Согласно таблице ASCII символ под номером 0 – null (http://www.asciitable.com/):




Аналогично в Oracle будет обрезаться информация выводимая в pipe-канал (DBMS_PIPE) и в буфер сессии (DBMS_OUTPUT).
Дополнительно можно посмотреть вот эту статью с asktom
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:47238880219973

Комментариев нет:

Отправить комментарий