В настоящее время я переношу C-приложение с RdB (OpenVMS) на Oracle 11 (Linux). Теперь я наткнулся на разницу между двумя системами баз данных.
Пример:
create table MYTAB(id number(13), name varchar2(10)) ;
Содержание
Id Name
1 Smith
2 Smith<blank> // trailing blank after Smith
Когда я выбираю имена во встроенном SQL, Oracle добавляет конечные пробелы до длины моей переменной хоста, т. е. два имени невозможно различить. Даже если я ОБРЕЗАЮ имя, Oracle добавляет пробелы.
Но с оператором Select по имени столбца я должен указать точное количество пробелов:
select id from MYTAB where name ='Smith' -> gives Id 1
select id from MYTAB where name ='Smith ' -> gives Id 2
Из-за этого мне очень сложно обрабатывать данные, потому что я не могу отличить количество пробелов в конце от моего оператора select.
Есть ли способ остановить Oracle от заполнения пробелами?
Заранее большое спасибо Йорг