oracle DB中的数据有尾随空格,但它们是';我们正在被sqlplus剥离

oracle DB中的数据有尾随空格,但它们是';我们正在被sqlplus剥离,oracle,oracle-sqldeveloper,sqlplus,Oracle,Oracle Sqldeveloper,Sqlplus,我正在使用sqlplus从oracle数据库检索数据 命令如下所示: select property_name||'|'||property_value from some_table where x = 'foo' 数据库中的数据肯定有尾随空格(这会导致我使用的应用程序出现问题) 当我检索到这些数据时,这些空间会以某种方式自动被修剪。我可以在使用SQLDeveloper和应用程序直接检索时看到它们 有什么方法可以阻止这种情况发生吗?下面是它应该如何工作的 SQL> create ta

我正在使用sqlplus从oracle数据库检索数据

命令如下所示:

select property_name||'|'||property_value from some_table where x = 'foo' 
数据库中的数据肯定有尾随空格(这会导致我使用的应用程序出现问题)

当我检索到这些数据时,这些空间会以某种方式自动被修剪。我可以在使用SQLDeveloper和应用程序直接检索时看到它们


有什么方法可以阻止这种情况发生吗?

下面是它应该如何工作的

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> 

最后一列显示没有“空白”被修剪。你能在你的问题细节中分享你的情景吗?或者尝试一下我所演示的内容并进行比较

这是假脱机文件吗?您是否已将trimspool设置为打开?否,trimspool已关闭。我想知道一行本身有换行符的数据会发生什么情况。通过添加空行,换行符会被转义、引用或弄乱返回的数据吗?@Ambrosechape添加空行可能会导致问题,具体取决于您使用的字符。如果仅在某些平台上的某些程序(如Windows上的SQL*Plus)上使用CHR(13),它会将光标重置为行首并覆盖字符。如果我添加“| |”!”`在它后面加上感叹号,它的工作原理和我上面看到的一样。但是如果它没有与右边的东西连接,那么空格就不存在了。