我正在尝试使用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 '我得到了正确的结果。我必须在字段中填入足够的空间。有没有其他方法可以得到正确的结果?
发布于 2013-09-15 23:09:15
这不是Pro*C的问题,而是您为列选择的数据类型的特征。CHAR(10)表示,即使您插入的值较短,字段的宽度也始终为10个字符。数据库将用空格填充一个短值,这就是为什么您必须在查询中添加额外的空格。
如果需要可变长度列,请改用VARCHAR(10)。
发布于 2018-05-02 23:06:58
您还可以使用以下同时适用于CHAR和VARCHAR列的命令:
select * from testtable ename like 'wxd%‘
SQL like条件通常有一个通配符。
https://stackoverflow.com/questions/17211889
复制相似问题