具体如下:
在informix中有一个表中数据如下:
sddfd:dfd:
另一个表中对应列如下
sdfsd:dfd:dfsdfsd
大概数据就是这个样子
我想匹配两个表的数据
sql条件语句如下:
where s1.(列名) like ‘s1.(列名)%’
可是结果是搜索不到,问题就出在最后那个冒号上
我看过其中具体数据,拿出一个具体数据把冒号去掉,再用上面like语句就可以,为什么?这个SQL语句该怎么写?
[解决办法]
按照你的数据
sddfd:dfd: 和 sdfsd:dfd:dfsdfsd
本来就应该找不到,第一个字符串的前5个字符和第二个字符串的前5个字符又不一样。 不知道你怎么试出把冒号去掉就可以的?
如果把数据修改一下,没有问题:
create table aa ( a varchar(20), b varchar(20) );
insert into aa values('sddfd:dfd:', 'sdfsd:dfd:dfsdfsd');
insert into aa values('sddfd:dfd:', 'sddfd:dfd:dfsdfsd');
select * from aa where b like a||'%';
结果出来一条:
sddfd:dfd:sddfd:dfd:dfsdfsd