通过身份证号获得年龄

19 篇文章 1 订阅
7 篇文章 0 订阅

sqlserver

if len(@idcard) = 15 OR len(@idcard) = 18 
	begin
		set @var1=''
		if LEN(@idcard)=15
			begin
				set @var1 =SUBSTRING(@idcard,15,1)
				set @birthday='19' +SUBSTRING(@idcard,7,2)+'-' +SUBSTRING(@idcard,9,2) +'-' +SUBSTRING(@idcard,11,2)
			end
		else
			begin
				set @var1 =SUBSTRING(@idcard,17,1)
				set @birthday=SUBSTRING(@idcard,7,4) +'-' +SUBSTRING(@idcard,11,2) +'-' +SUBSTRING(@idcard,13,2)
			end

		set @age= round (( DATEDIFF(day,@birthday,getdate())/ 365),0)
	end

Oracle
 

if length(vcardid) = 15 OR length(vcardid) = 18 then
	begin
		if length(vcardid) = 18 then
			begin
				select TRUNC ((  sysdate- TO_DATE (SUBSTR (vcardid, 7, 8), 'yyyy-mm-dd') )/ 365) into v_card_nl from dual;
                select SUBSTR (vcardid, 7, 8)  into V_csrq from dual;--出生日期
			end;
		else
			begin
				select TRUNC ((  sysdate- TO_DATE ('19' || SUBSTR (vcardid, 7, 6), 'yyyy-mm-dd') )/ 365) into v_card_nl from dual;
			end;
		end if;
	end;
end if;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值