Невидимый символ в измененном столбце
У меня есть строка, которая организована в строку без пробелов и некоторых символов и без знаков препинания. В последней строке 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>