Данные в oracle DB имеют завершающие пробелы, но они удаляются sqlplus - PullRequest
0 голосов
/ 17 мая 2018

Я получаю данные из базы данных Oracle с помощью sqlplus.

Команда выглядит примерно так:

select property_name||'|'||property_value from some_table where x = 'foo' 

и данные в базе данных определенно имеют конечные пробелы (это вызывает проблемы в приложении, с которым я работаю).

Когда я получаю эти данные, пробелы как-то автоматически обрезаются. Я вижу их, когда использую SQLDeveloper и получаю непосредственно из приложения.

Есть ли способ, которым я могу остановить это?

1 Ответ

0 голосов
/ 17 мая 2018

Вот как это должно работать.

SQL> create table spaces (blanks varchar2(20));

Table created.

SQL> insert into spaces values ('A');

1 row created.

SQL> insert into spaces values ('A     ');

1 row created.

SQL> insert into spaces values ('A  ');

1 row created.

SQL> Insert into SPACES (BLANKS) values ('A   

B   ');

SQL> commit;

Commit complete.


SQL> select blanks, length(blanks), blanks || '!' from spaces;

BLANKS               LENGTH(BLANKS) BLANKS||'!'
-------------------- -------------- ---------------------
A                    1               A!
A                    6               A    !
A                    3               A  !
A                    9               A
B                                    B  !

SQL> 

Последний столбец показывает, что ни один из «пробелов» не обрезается. Можете ли вы поделиться своим сценарием в деталях вашего вопроса? Или попробуйте то, что я продемонстрировал, и сравните.

...