SAS использует только строки фиксированной длины и задние заготовки полос, чтобы заставить его работать. Таким образом, похоже, что SAS помещает 'R'
вместо 'R '
в базу данных, когда преобразует ваш запрос для вас.
Вместо этого вам нужно написать запрос Oracle напрямую. Поэтому вместо использования неявного синтаксиса, например:
libname myora oracle ... schema=myoraschema ... ;
proc sql ;
SELECT col
FROM myora.mytable
WHERE col IN('R ','RJ')
;
Вы должны использовать явный синтаксис, подобный этому:
libname myora oracle ..... ;
proc sql ;
connect using myora ;
select * from connection to myora
(SELECT col
FROM myoraschema.mytable
WHERE col IN('R ','RJ')
)
;
Долгосрочное решение состоит в том, чтобы исправить таблицу Oracle, чтобы НЕ хранить конечные пробелы. Возможно, вам придется переопределить переменную как VARCHAR (2) вместо CHAR (2).