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

sql身份证号码转换日期

发布时间: 2022-05-20 15:27:53

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

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

㈡ 如何把身份证号码转换成出生年月

把身份证号码转换成出生年月方法是,首先,以戴尔电脑XP系统为例子,打开Excel表格程序,在程序中打开要将身份证号码转换成出生日期表格,然后,选中要生成出生日期的单元格,在函数栏 输入函数=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)) ,点击确定,然后,在单元格中就可以看身份证号码生成的出生日期,最后,将其余的单元格进行同样的操作,即可将身份证号码怎么转换出生日期,问题解决。
一、把身份证号码转换成出生年月
首先以戴尔电脑XP系统为例子,用户们双击打开“Excel”,然后用户先在表格内输入一些内容,方便待会给大家做示范,大家直接打开自己需要编辑的Excel表格就可以了。2、用户们选中需要填入出生年月的单元格,然后在菜单栏处点击“公式”选项卡,找到“函数库”选项卡,然后点击“插入函数”选项卡,3、在弹出的对话框中,用户们点击下拉箭头,选择“全部”,打开全部函数,找到“M”开头的函数,再点击“MID”,然后点击确定。
二、身份证号码
居民身份证号码,正确、正式的称谓应该是"公民身份号码"。中华人民共和国居民身份证是国家法定的证明公民个人身份的有效证件。18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定
综上所述,公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

㈢ sqlserver如何将身份证号码的出生日期提取出来转为日期类型数据

(1)截取第七、八位数没有错
(2)错就错在as
datetime错误。
截取获得的两位数字不可能转成时间格式。只能转成int、string或者varchar格式
(3)改正方法:把as
datetime改成as
int
或者改成as
varchar
望采纳!

㈣ sql 根据15位或18位身份证号返回出生日期,如果日期不合法,显示"错误的身份证

15位的身份证是7-12位为日期 900124 就是1990 01 24
18位的身份证是7-14位为日期 19900124
身份证号码 Declare @No varchar(30)
select case when len(@No)=15 then '19'+substring(@No,7,6) when len(@No)=18 then substring(@No,7,8) end

㈤ sql 利用身份证换算出生日期

要isdate(xx)=1即可以转化为日期类型才行

select sfzh,substring(sfzh,7,4)+'-'+ substring(sfzh,11,2)+'-'+substring(sfzh,13,2) as xx into #T from A

select * from #T where isdate(xx)=1

update A set csrq=convert(datetime,xx) from A,#T
where A.sfzh=#T.sfzh and isdate(xx)=1

㈥ 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从身份证中取出出生日期

以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';
至于剩下的年龄区间楼主自己应该知道怎么求了把

㈧ 怎样将身份证号码中的年月日提取出来并转化为日期

1、打开EXCEL表格,在单元各种输入身份证号码。

㈨ sql 中用身份证换算年龄和出生日期

这个简单啊...
如果是要更新表字段内容:

新的身份证18位的:

update A
set C=substring(B,7,8),D=datediff(year,substring(B,7,8),getdate())

老的身份证15位的:
update A
set C='19'+substring(B,7,6),D=datediff(year,'19'+substring(B,7,8),getdate())

㈩ plsql 将substr截取身份证上的日期转为日期格式

SET DATE TO ANSI
SET CENTURY ONsfzh="210811197810030011"csrq=ctod(subs(sfzh,7,4)+'.'+subs(sfzh,11,2)+'.'+subs(sfzh,13,2)) &&出生日期?year(csrq) &&出生年度?YEAR(DATE())-YEAR(csrq) &&年龄