日期:2014-05-18  浏览次数:20607 次

关于15位身份证和18位身份证相等的问题
有两张表,由于输入时间的关系,每张表中的身份证号都存在15位和18位的问题,又由于同名同姓的问题,只能通过身份证号来选出同时在两张表中都存在的人,

select   from   table1   inner   join   table2   on   talbe1.identificationNo=table2.identificationNo

这时同一个人如果在两个表中身份证号位数不相同就选不出来,

请高手之交,怎样能解决这个问题?????不胜感谢!!

------解决方案--------------------
select a.name from table1 a,table2 b where a.identificationNo=b.identificationNo or (substring(a.identificationNo,1,6)=substring(b.identificationNo,1,6) and (substring(a.identificationNo,9,8)=substring(b.identificationNo,11,8) or substring(a.identificationNo,11,8)=substring(b.identificationNo,9,8)))