Go
--创建函数(函数来自csdn,作者不详)
create function [dbo].[Get_sex]
(
@idcardno nvarchar(50)
)
returns int
as
begin
declare @sex int
if (len(@idcardno)=18 and isnumeric(substring(@idcardno,17,1))=1 )
set @sex= (case when substring(@idcardno,17,1) in(1,3,5,7,9) then 1
when substring(@idcardno,17,1) in(2,4,6,7,0) then 2 else 0 end)
else if (len(@idcardno)=15 and isnumeric(substring(@idcardno,15,1))=1 )
set @sex= (case when substring(@idcardno,15,1) in(1,3,5,7,9) then 1
when substring(@idcardno,15,1) in(2,4,6,7,0) then 2 else 0 end)
else
set @sex=0
return(@sex)
end
--测试示例
select dbo.[Get_sex]('222222198306043213')
--运行结果(1表示男0表示女)
/*
1
*/
[MSSQL]根据身份证计算性别函数
最新推荐文章于 2024-06-24 17:53:11 发布
这是一个在SQL中创建的函数,用于根据输入的身份证号码计算性别。函数`[dbo].[Get_sex]`检查身份证号的最后一位,并根据奇偶性判断性别,返回1代表男性,2代表女性。提供的测试示例显示,身份证号'222222198306043213'对应的结果为男性。
1346

被折叠的 条评论
为什么被折叠?



