使用Pro*C访问TimesTen数据库



我正在尝试使用Pro*C访问TimesTen数据库。在TimesTen中创建表的代码为

create table testtable(id number(4) not null primary key, ename  char(10));

我使用Pro*C从这个表中获取数据。当我使用以下SQL:

select * from testtable where ename like 'wxd'

我没有得到结果。但是当我使用这个:

select * from testtable where ename like 'wxd       '

得到正确的结果。我必须在字段中填充足够的空间。有没有别的方法可以得到正确的结果?

这不是Pro*C的问题,而是您为列选择的数据类型的特性。CHAR(10)意味着该字段始终是10个字符宽,即使您插入的值更短。数据库将用空格填充短值,这就是为什么您必须在查询中添加额外的空格。

如果您想要一个可变长度的列,使用VARCHAR(10)代替

您还可以使用下面的方法,它同时适用于CHAR和VARCHAR列:

select * from testtable where name like 'wxd%'

类似SQL的条件通常有一个通配符

相关内容

  • 没有找到相关文章

最新更新