Невидимый символ в измененном столбце

У меня есть строка, которая организована в строку без пробелов и некоторых символов и без знаков препинания. В последней строке 6 символов "ABCDEF", а длина 7. Почему? Это в ORACLE.

select 
 regexp_replace((upper(utl_raw.cast_to_varchar2((nlssort(trim('a.Bc d-E/f'), 'nls_sort=binary_ai'))))), '[/:.,- ]|\d', '') as column_1
,length(regexp_replace((upper(utl_raw.cast_to_varchar2((nlssort(trim('a.Bc d-E/f'), 'nls_sort=binary_ai'))))), '[/:.,- ]|\d', '')) as length_1
from dual

Спасибо

1 ответ

Похоже, что utl_raw.cast_to_varchar2() добавляет нулевой терминатор в строку, которую считает LENGTH():

SQL> select
    dump(utl_raw.cast_to_varchar2(nlssort('a.Bc d-E/f', 'nls_sort=binary_ai')
) as column_1
   from dual;

COLUMN_1
-------------------------------------------------------------------------------

Typ=1 Len=11: 97,46,98,99,32,100,45,101,47,102,0

SQL>
Другие вопросы по тегам