У меня есть случай:столбца запроса с символьным типом данных в оракуле
Пример код:
create table abc(aa char(10));
insert into abc values('ABC');
--ABC will be padded with 7 blank spaces
Issue:
Select * from abc where aa in ('ABC');
--This above statement returns one row with value ABC
Declare
v_temp varchar2(10);
v_aa varchar2(10) := 'ABC';
Begin
select aa into v_temp from abc where aa in (v_aa);
dbms_output.put_line(v_temp);
end;
--The выше PL/SQL блок один исполнение печатает ничего, но если я заменить выберите внутри этот блок с «выберите aa в v_temp из abc, где aa in ('ABC'); значение будет напечатано.
Просьба сообщить мне о поведении.
ya это будет работать, настоящая проблема заключается в том, что мы перешли с ms sql server на oracle, столбцы с типом char в ms sql server были перенесены в oracle как сам тип char. мы перенесли многие хранимые процедуры, в которых возникает ситуация, аналогичная той, которую я задал. Итак, столбец в sql с типом char должен быть перенесен в varchar2 ?? –
В конечном счете, я считаю, что вам будет намного лучше, если вы измените данные в таблицах на varchar2. –