Chinaunix

标题: 数据库变量问题 [打印本页]

作者: batman425    时间: 2013-09-26 16:26
标题: 数据库变量问题
关于DB2的建表字段,类型为 col2 CHAR(10) , 在程序中的sql如下:
select col1 into :col from table1 where col2 = 1
1 变量长度为 2位,值为 '01',查询结果是查询不到数据,
改成如下语句:
select col1 into :col from table1 where col2 = '01'
可以查询到记录,
请问不用 where rtrim(col2) = 1 的方式,有没有什么办法可以解决这个问题,
作者: myworkstation    时间: 2013-09-26 17:47
回复 1# batman425


    一堆乱码,貌似你第一句sql中01没有加引号啊。通过where处理char类型相等时数据库会自动忽略填充的空格的。难道你的数据库不能?
作者: yulihua49    时间: 2013-09-27 10:24
本帖最后由 yulihua49 于 2013-09-27 10:26 编辑
batman425 发表于 2013-09-26 16:26
关于DB2的建表字段,类型为 col2 CHAR(10) , 在程序中的sql如下:
select col1 into :col from table1 wh ...

类型改为 col2 VARCHAR(10)   。。。。就好了。
如果对char类型绑定变量,必须对多余的字节填充' '。
从插入到修改到查询,一致的处理。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2