sybase存储过程语句问题
比如我有两个表,table1中有字段(sfz,name),table2中有字段(sfz,socre)
有这样的一个存储过程语句片段:
select @s_sql= "insert into #temp(sfz,name,score) "
select @s_sql=@s_sql+ "select a.sfz,a.name,b.score "
select @s_sql=@s_sql+ "from table1 a,table2 b "
select @s_sql=@s_sql+ " where a.sfz = b.sfz "
if @s_wheresql <> " " and @s_wheresql is not null
begin
select @s_sql= @s_sql + " and "+ @s_wheresql
end
exec(@s_sql)
其中where语句中的a.sfz = b.sfz ,现在有一种情况是,身份证的号码有15位的也有18位的,要解决的问题是如何匹配身份证,不管输入15位还是18位都能查出结果。
比如table1中sfz号码为321027(19)830411333(0),table2的sfz号码321027830411333,这两个号码是同一个人。
[解决办法]
case when语句