Create FUNCTION [dbo].[udf_IsvalidIDCard]
(
@IDCardNo varchar(50)=''
)
RETURNS bit
AS
/*******************************************************************
函数名称:udf_IsvalidIDCard()
参数:@IDCardNo string 身份证号码
返回值: bit 是否有效
功能描述:判断身份证号码是否合法
备注:目前中国的身份证号码有18位和15位.
1,18位身份证号码的组成:6位地区编码+8位出生年月日+3位编号(奇男偶女)+1位校验码
2,15位身份证号码的组成:6位地区编码+6位出生年月日+3位编号(奇男偶女)
*******************************************************************/
BEGIN
declare @Length int,
@Loop int,
@Sum int
declare @SingleChar char
set @Sum = 0
if @IDCardNo is null or @IDCardNo = null or ltrim(rtrim(@IDCardNo)) = ''
begin
return 0
end
set @Length = len(@IDCardNo)
--判断位数
i