当前位置: 代码迷 >> Informix >> 字符串匹配解决方案
  详细解决方案

字符串匹配解决方案

热度:2718   发布时间:2013-02-26 00:00:00.0
字符串匹配
有两个表:a,b
a 有一个列c1的内容为:2008
b有一个列c2的内容为:2008;
问题:写一个sql语句,如何找到b表里的c2去掉“;”后的值与a表中的c1相等的记录集
即:2008=2008,就是找一个什么函数把c2的“;”去掉,然后和c1去匹配?
列的内容均为英文输入方式下的字符
------解决方案--------------------------------------------------------


select *
from a,b
where b.c2 like a.c1 '_';

== 思想重于技巧 ==

------解决方案--------------------------------------------------------
select a.*, b.*
from a
     inner join b on a.c1 + ';' = b.c2

--或

select a.*, b.*
from a
     inner join b on a.c1 = replace(b.c2,';','')

--或 

select a.*, b.*
from a
     inner join b on a.c1 = left(b.c2,len(b.c2)-1)
  相关解决方案