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;
相关推荐
十六年开源服务商27 分钟前
外贸WordPress用户反馈分析与运营维护
运维·服务器·数据库
·云扬·27 分钟前
深入理解MySQL事务:ACID特性、隔离级别与MVCC原理
数据库·mysql·oracle
90的程序爱好者28 分钟前
Kettle多张表数据抽取操作步骤
数据库·数据仓库·数据挖掘
万邦科技Lafite32 分钟前
小红书评论数据一键获取,item_reviewAPI接口讲解
大数据·前端·数据库·chrome·电商开放平台
傻啦嘿哟1 小时前
用Pydantic验证和解析配置数据:比手写if更可靠
网络·数据库·oracle
guoketg1 小时前
langchain1.0+RAG检索增强的简易知识库问答系统
数据库
沐雨风栉1 小时前
用 Kavita+cpolar 把数字书房装进口袋
服务器·开发语言·数据库·后端·golang
专注echarts研发20年1 小时前
Qt自定义双击事件实现方案(规避原生双击附带单击问题)
数据库
Linux蓝魔1 小时前
外网同步所有ubuntu源到内网使用
linux·数据库·ubuntu
墨香幽梦客1 小时前
系统性能优化技巧:数据库索引、缓存与异步处理的综合应用
数据库·缓存·性能优化