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

身份证取地区的问题.
身份证的地区码是前六位,前两位肯定是有的,而后四位有时没有(根据最新版本的代码数据库),想在一个语句中实现,先匹配6位,如不行然后匹配前4位,在不行匹配前两位.语句怎么实现呢?

------解决方案--------------------
case
when len(field)=6 then .. end
when len(field)=4 then .. end
when len(field)=2 then .. end
------解决方案--------------------
--t(idcard varchar(1000))
declare @sql
set @sql= ' '
if exists(select 1 from t where idcard like '551833 ')
set @sql= 'select ..... '
else if exists(select 1 from t where idcard like '5518 ')
set @sql= 'select ..... '
else
set@sql= 'select..... '
exec(@sql)
go