有两个表: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)