对变量@SID操作的有关问题

对变量@SID操作的问题declare@birthdayvarchar(8)declare@SIDvarchar(18)--身份证号码select@SIDSIDfro

对变量@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,日期开始位, 日期结束位)