--校验18位身份证,返回校验后的身份证号
ALTER FUNCTION [dbo].[CheckID18] (@ID char(18))
RETURNS CHAR(18) AS
BEGIN
DECLARE @ID18 CHAR(18)
DECLARE @S1 AS INTEGER
DECLARE @S2 AS INTEGER
DECLARE @S3 AS INTEGER
DECLARE @S4 AS INTEGER
DECLARE @S5 AS INTEGER
DECLARE @S6 AS INTEGER
DECLARE @S7 AS INTEGER
DECLARE @S8 AS INTEGER
DECLARE @S9 AS INTEGER
DECLARE @S10 AS INTEGER
DECLARE @S11 AS INTEGER
DECLARE @S12 AS INTEGER
DECLARE @S13 AS INTEGER
DECLARE @S14 AS INTEGER
DECLARE @S15 AS INTEGER
DECLARE @S16 AS INTEGER
DECLARE @S17 AS INTEGER
DECLARE @S18 AS INTEGER
SET @S1 = SUBSTRING(@ID,1,1)
SET @S2 = SUBSTRING(@ID,2,1)
SET @S3 = SUBSTRING(@ID,3,1)
SET @S4 = SUBSTRING(@ID,4,1)
SET @S5 = SUBSTRING(@ID,5,1)
SET @S6 = SUBST