sql 根据身份证号获取出生日期并转成对应格式

sql server

查询判断身份证号是18位的

复制代码
select    SUBSTRING(SUBSTRING(IDCard,7,8),1,4)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),5,2)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),7,2) from 表 where    Birthday is null and LEN(IDCard)=18

修改

复制代码
update 表set Birthday=SUBSTRING(SUBSTRING(IDCard,7,8),1,4)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),5,2)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),7,2) where   Birthday is null and LEN(IDCard)=18
 

oracle

复制代码
SELECT (SUBSTR(IdNumStr,7,8 ))  FROM DUAL;

输出是年月日字符串。再转换为对应需要的时间格式,例YYYY-MM-DD

复制代码
SELECT to_char(to_date((SUBSTR(IdNumStr,7,8 )),'yyyy-mm-dd'),'yyyy-mm-dd')  FROM DUAL;
复制代码
create function     U_GET_BIRTH(IDNUM in varchar2) return varchar2 as
begin
    --根据身份证号取得对应的出生年月日,并转换为对应的日期格式
    return to_char(to_date((SUBSTR(IDNUM ,7,8 )),'yyyy-mm-dd'),'yyyy-mm-dd');
end;
相关推荐
float_六七10 小时前
数据库管理系统(DBMS) 的核心组成部分
数据库·oracle
科技块儿11 小时前
内网系统IP离线数据库搭建与维护完整方案
数据库·网络协议·tcp/ip
小徐不徐说11 小时前
避坑指南:Qt 中 Lambda 表达式崩溃原因与高效使用实践
数据库·c++·qt·面试
chirrupy_hamal11 小时前
WAL 记录的内容变种
数据库·postgresql
1***438011 小时前
技术文章大纲:用MySQL玩转数据可视化数据库连接与数据查询基础
数据库·mysql·信息可视化
binbinaishijie8811 小时前
Matlab读取CSV数据并处理实战指南:从入门到精通
大数据·数据库·其他·matlab
szm022511 小时前
Mysql
数据库·mysql
鸠摩智首席音效师11 小时前
MySQL ERROR 1114 (HY000): The table is full
数据库·mysql
数据大魔方11 小时前
【期货量化实战】豆粕期货量化交易策略(Python完整代码)
开发语言·数据库·python·算法·github·程序员创富
Codeking__11 小时前
Redis的value类型介绍——zset
数据库·redis·缓存