我目前正在将 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-Statement,我必须给出确切的空格数:
select id from MYTAB where name ='Smith' -> gives Id 1
select id from MYTAB where name ='Smith ' -> gives Id 2
这让我很难处理数据,因为我无法将尾随空格的数量与我的 select 语句区分开来。
有什么方法可以阻止 Oracle 填充空白?
提前非常感谢 Jörg