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

sql语句身份证号筛选年龄

发布时间: 2023-07-26 21:23:11

A. sql从身份证中取出出生日期

以oracle为例:假设你的tb_csm_indivial表里面CERTIFICATE_CODE字段存着身份证号:
select
to_date(substr(CERTIFICATE_CODE,7,8),'%yyyy%mm%dd')
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722'
;这样就查出来了这个身份证号的出生日期;
下面的脚本就是计算当前日期减去出生日期求出来的生日
select
EXTRACT(year
FROM
to_date('2018-11-22','yyyy-mm-dd'))
-
EXTRACT(year
FROM
to_date(substr(CERTIFICATE_CODE,7,8),'yyyy-mm-dd'))
years
from
tb_csm_indivial
where
CERTIFICATE_CODE='210102197908223722';
至于剩下的年龄区间楼主自己应该知道怎么求了把

B. 数据库怎么根据出生日期查询年龄

SqlServer中通过出生日期计算年龄可用year函数。

有student表,数据如下,其中birthday列为生日列:要计算每个人的年龄,可用如下语句:select*,year(getdate())-year(birthday)agefromstudent3、查询结果如下,年龄计算结果出现:

数据库索引:

资数据索引的观念由来已久,就像是一本书的目录一样,也算是索引的一种。只是索引的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。

另外,索引跟域有着相应的关系,索引即是由域而来,其中域有所谓的关键域(Key Field),该域具有唯一性,即其值不可重复,且不可为"空值(null)"。例如:在合并数据时,索引就是附加域数据之指向性用途。故此索引为不可重复性且不可为空。

C. 如何写在身份证号码中提取年龄的sql语句

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

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

DECLARE@PersonalIDVARCHAR(18)

SET@PersonalID='xxxxxx19491001xxxx'

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

(3)sql语句身份证号筛选年龄扩展阅读:

SQL 语句举例

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

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

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

SELECT:查询表中的数据

INSERT:向表中插入新数据

UPDATE:更新表中的数据

DELETE:删除表中的数据

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

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

GRANT: 赋予用户操作权限

REVOKE: 取消用户的操作权限

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

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

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

改为:

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

E. 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")