当前位置:首页 » 编程语言 » sql语句根据身份证号提取年龄
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql语句根据身份证号提取年龄

发布时间: 2022-07-03 02:42:31

‘壹’ sql由身份证号计算出生日期和年龄

select datediff(day,convert(datetime,SUBSTRING (ID, 7, 4) + '-' + SUBSTRING (ID, 11, 2) + '-' + SUBSTRING (ID, 13, 2)) ,getdate())/360 from 员工信息表

‘贰’ sql如何用身份证检索年龄

身份证18位的,从第7到第11位是年份
right(number,12)去除前面6位
在left(上面的,4)取出最左边4位,用2011减
伪码就是下面这个
select 2011-left(right(number,12),4) from shenfenzheng

‘叁’ sql中,根据身份证号码截取出了出生日期,怎么获取当前年龄,精确到月、日

具体代码就不写了

思路如下

  1. 身份证18位 从多少位是年月日来着?大概是第7--15是年月日 substring()方法

  2. 获取当前年与日

  3. 两个日期转化为毫秒相减,相减后的毫秒转化为天数
    给个小例子

  4. publicstaticvoidmain(String[]args){
    CalendarnowDate=Calendar.getInstance(),oldDate=Calendar.getInstance();
    nowDate.setTime(newDate());//设置为当前系统时间
    oldDate.set(1990,5,19);//设置为1990年(6)月29日
    longtimeNow=nowDate.getTimeInMillis();
    longtimeOld=oldDate.getTimeInMillis();
    long相隔天数=(timeNow-timeOld)/(1000*60*60*24);//化为天
    System.out.println("相隔"+相隔天数+"天");

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

比如身份证号码或者出生日期在A1单元格,可以在B1输入以下公式:
(如果是其他单元格,相应改一下就行)
问题1:
=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),(LEN(A1)=15)*19&"0-00-00"),TODAY(),"y")
问题2:
=CHOOSE(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2)+1,"女","男")
问题3:
=DATEDIF(TEXT(A1,"0-00-00"),TODAY(),"y")

‘伍’ sql语句:如何根据一个身份证的字段取出相应的年龄

select trunc(sysdate)-to_date(substr(id,6,8),'yyyymmdd') from al

‘陆’ 如何用sql语句通过 身份证号 查询年龄

身份证的年龄字段知道吧,查出来,用datediff算就知道了
15位18位给个case语句判断就行了

‘柒’ 如何写在身份证号码中提取年龄的sql语句

在身份证号码中提取年龄的sql语句可以参考下面的代码:

用字符串函数SubString(@str,@StartPos,@nLen)

DECLARE@PersonalIDVARCHAR(18)

SET@PersonalID='xxxxxx19491001xxxx'

SELECTCAST(substring(@PersonalID,7,8)ASSMALLDATETIME)--第7位开始,连续8位

(7)sql语句根据身份证号提取年龄扩展阅读:

SQL 语句举例

CREATE: 创建数据库和表等对象

DROP: 删除数据库和表等对象

ALTER: 修改数据库和表等对象的结构

SELECT:查询表中的数据

INSERT:向表中插入新数据

UPDATE:更新表中的数据

DELETE:删除表中的数据

COMMIT: 确认对数据库中的数据进行的变更

ROLLBACK: 取消对数据库中的数据进行的变更

GRANT: 赋予用户操作权限

REVOKE: 取消用户的操作权限

‘捌’ sql 语句查询 根据身份证查年龄统计,急!

这个好办:
select year(getdate())-year(cast(substring(@a,7,8) as datetime))
15位的身份证我就没见过了,你把15的身份证形式发给我,我给你个完整的语句

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

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

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

改为:

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