码迷,mamicode.com
首页 > 其他好文 > 详细

根据身份证计算性别函数

时间:2017-01-03 14:55:07      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:ace   string   arc   creat   varchar   car   title   ase   case   

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

*/

根据身份证计算性别函数

标签:ace   string   arc   creat   varchar   car   title   ase   case   

原文地址:http://www.cnblogs.com/accumulater/p/6244471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!