CREATE FUNCTION dbo.f_sexage
(
@id_card varchar(18)
) returns nchar(1)
as
begin
return(case substring(@id_card, case len(@id_card) when 15 then 15 else 17 end, 1)%2 when 1 then '男' else '女' end)
end
go--调用函数实现查询
select dbo.f_sexage(id_card), * from table1
(
@id_card varchar(18)
) returns nchar(1)
as
begin
return(case substring(@id_card, case len(@id_card) when 15 then 15 else 17 end, 1)%2 when 1 then '男' else '女' end)
end
go--调用函数实现查询
select dbo.f_sexage(id_card), * from table1
as
select case substring(@id_card,
case len(@id_card)
when 15 then 15
else 17 end, 1)%2
when 1 then '男'
else '女' end
GO
同意一楼的
SELECT CASE RIGHT(id_card,2)%2 WHEN 1 THEN '男' ELSE '女' END AS 性别
SELECT CASE substring(id_card,17,1)%2 WHEN 1 THEN '男' ELSE '女' END AS 性别
18位的就是倒数每四个数,
如果是奇数,就是男
如果是偶数,就是女.楼上们的都是正解啊.zjcxc(邹建)的还是很简洁的,不愧是三颗钻石的人啊...