我想查询一个表里面的xmbh等于另个表的spbbh等数据
我是这样写的:select * from vi_fysp fysp,vi_wdys wdys where fysp.xmbh=wdys.spbbh
但是查询不出来数据,可是我这样写
:select * from vi_fysp,vi_wdys where vi_fysp.xmbh='test' and vi_wdys.spbbh='test'
我想下面就查询的出来???
我是这样写的:select * from vi_fysp fysp,vi_wdys wdys where fysp.xmbh=wdys.spbbh
但是查询不出来数据,可是我这样写
:select * from vi_fysp,vi_wdys where vi_fysp.xmbh='test' and vi_wdys.spbbh='test'
我想下面就查询的出来???
select * from vi_fysp fysp,vi_wdys wdys where trim(fysp.xmbh)=trim(wdys.spbbh)
varchar2的是字符串的实际长度,char(10)不足10的会用空格补齐到10个
varchar2不是
select * from vi_fysp,vi_wdys where vi_fysp.xmbh= vi_wdys.spbbh看下嘛原因
比如你存放'abc',varchar2(200)类型存放结果是'abc',但是char(10)类型存放结果是'abc '。
楼主可以试一试,解决方法就像3楼那样,trim是前后两边都去空格!