sql中根据身份证号来计算年龄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中根据身份证号来计算年龄相关的知识,希望对你有一定的参考价值。

update a set a.age=(year(getdate())-cast(select substring(b.sfzh,7,4) from person b where b.sfzh=a.sfzh) as int)) from person a 这么写会提示子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。如果把 set后面 a.age "a."去掉则会提示 无法绑定由多个部分组成的标识符 郁闷!!

update person set age= year(getdate())-substring(sfzh,7,4)

这个命令有一点小错误。因为year() 结果是数值型。subs()结果是字符型。

改为:

update person set age= year(getdate())-val(substring(sfzh,7,4))
参考技术A update person set age= year(getdate())-substring(sfzh,7,4)

这样就可以了,为什么要用子查询?
参考技术B update person
set age= cast(substring(sfzh,7,4) as int)
参考技术C SELECT TIMESTAMPDIFF(YEAR, SUBSTRING('身份证号', 7, 8), NOW()) AS age;

根据身份证号精确到天计算年龄

excel 中把身份证号转换成年龄和出生日期的公式是啥?

在做资料的时候需要身份证号码来计算出年龄,虽然通过身份证号码计算年龄很简单,但是数据太多一个一个计算比较麻烦,那么可以用excel公式通过身份证号码计算出年龄,下面就来了解一下。

1、首先在电脑中打开一个EXCEL文档。在表格内输入身份证号码,这里模拟输入了一串号码表示身份证号。

2、接着用函数MID取出身份证号码中的出生日期。

3、然后用函数YEAR(NOW())求出现在的年份。

4、这时用现在年份减去出生年份得出年龄,也可以直接把两个公式合并到一起,合并后公式为=YEAR(NOW())-MID(A3,7,4)。

5、这时单元格内根据身份证号码计算出年龄。

参考技术A

方法:
假设身份证号在a1单元格
生日:
=IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))
年龄:
=DATEDIF(TEXT(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),"e-mm-dd"),TODAY(),"y")
1.用excel提取身份证出生日期
2.首先选定c列,右键设置单元格格式
3.把该列设置为日期格式
4.在C2单元格输入提取身份证出生日期公式 
=--TEXT(MID(B2,7,8),"0-00-00")
公式解释:MID(B2,7,8)的意思是提取从B2单元第7位开始往后的8位数字,即19871209,TEXT函数前的两个减号,负负为正的意思,被称为减负运算。
然后用TEXT函数把数据转换成1987-12-09
5.然后,在下拉提取其他身份证出生日期

参考技术B 1、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月:
=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))

3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))

以上是关于sql中根据身份证号来计算年龄的主要内容,如果未能解决你的问题,请参考以下文章

SQL用身份证号计算年龄命令

如何在数据库中利用sql从18位身份证号中截取出生日期,身份证号在reader表中

各位兄弟都来,如何在sql里利用身份证查询出生日期?

怎么通过身份证号计算年龄

EXCEL计算根据当前时间和身份证号计算准确年龄

pandas根据身份证计算年龄