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

对变量@SID操作的问题
declare   @birthday   varchar(8);
declare   @SID   varchar(18);--身份证号码

select   @SID=SID   from   userinfo   where   userid= '001 '


下面的代码怎么写呢?


下面判断身份证号码是15还是18位
如果是15位,取其出生年月,取出来的是19830101这样的格式

如果是18位,取其出生年月,取出来的是19830101这样的格式



------解决方案--------------------
if(len(@SID)=15)
set @SID SUBSTRING(@SID,日期开始位, 日期结束位)
if(len(@SID)=18)
set @SID SUBSTRING(@SID,日期开始位, 日期结束位)