-- --下面定义好的调用函数
-- update
-- 表
-- set
-- 身份证号= dbo.ID15TO18(身份证号)
-- where
-- LEN(身份证号) = 15
dbo.ID15TO18函数
SET @S18=((@S1*7) (@S2*9) (@S3*10) (@S4*5) (@S5*8) (@S6*4) (@S7*2) (@S8*1)
(@S9*6) (@S10*3) (@S11*7) (@S12*9) (@S13*10) (@S14*5) (@S15*8) (@S16
*4) (@S17*2))
SET @ID18=SUBSTRING(@ID15,1,6) '19' SUBSTRING(@ID15,7,9)
CASE WHEN @S18=0 THEN '1'
WHEN @S18=1 THEN '0'
WHEN @S18=2 THEN 'X'
WHEN @S18=3 THEN '9'
WHEN @S18=4 THEN '8'
WHEN @S18=5 THEN '7'
WHEN @S18=6 THEN '6'
WHEN @S18=7 THEN '5'
WHEN @S18=8 THEN '4'
WHEN @S18=9 THEN '3'
WHEN @S18=10 THEN '2'
END
RETURN @ID18
END