当前位置: 代码迷 >> Sybase >> sybase存储过程语句有关问题
  详细解决方案

sybase存储过程语句有关问题

热度:10053   发布时间:2013-02-26 00:00:00.0
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语句