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;
相关推荐
万叶学编程34 分钟前
HBase 开发:使用Java操作HBase
java·数据库·hbase
代码小鑫1 小时前
A037-基于Spring Boot的二手物品交易的设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
MXsoft6181 小时前
基于IPMI_SSH的服务器硬件监控指标解读
大数据·运维·数据库
running up that hill1 小时前
数据库中库的操作
java·数据库·mysql
小余大牛成长记1 小时前
构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤
数据库·mysql·安全
isNotNullX1 小时前
浅谈数据仓库的架构及其演变
大数据·数据库·数据仓库·架构·etl·数据同步
qq_441996052 小时前
Redis 中的主要数据结构
数据结构·数据库·redis
扶我起来继续写2 小时前
MySQL的聚簇索引和二级索引
数据库·mysql
MisterZhang6662 小时前
java中rag使用mysql作为向量数据库,存储读写如何优化
java·数据库·mysql