0

我正在尝试使用 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       '

我得到了正确的结果。我必须在田野里填满足够的空间。有没有其他方法可以获得正确的结果?

4

2 回答 2

0

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

如果您想要一个可变长度的列,请VARCHAR(10)改用。

于 2013-09-15T15:09:15.440 回答
0

您还可以使用以下适用于 CHAR 和 VARCHAR 列的内容:

select * from testtable where ename like 'wxd%'

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

于 2018-05-02T15:06:57.617 回答