如何在身份证号码中提取出生年月日的函数公式

内容分享2周前发布
0 0 0

在不同软件中,从身份证号码提取出生年月日的函数公式不同,以下是常见软件的方法:

Excel

• 假设身份证号码在A列,在B列提取出生年月日,在B2单元格输入公式=TEXT(MID(A2,7,8),”0000-00-00″)。MID函数从身份证号码第7位开始提取8位数字,即出生年月日,TEXT函数将其格式化为0000-00-00的日期格式。

WPS表格

• 与Excel方法类似,在B2单元格输入=TEXT(MID(A2,7,8),”0000-00-00″),然后向下填充即可。

Python

• 使用pandas库,假设数据在data.csv文件中,身份证号码列名为身份证号码,代码如下:

import pandas as pd

data = pd.read_csv('data.csv')

data['出生年月日'] = data['身份证号码'].str.slice(6, 14).astype(int).astype(str).str[:4] + '-' + data['身份证号码'].str.slice(6, 14).astype(int).astype(str).str[4:6] + '-' + data['身份证号码'].str.slice(6, 14).astype(int).astype(str).str[6:]

data.to_csv('new_data.csv', index=False)

• 不使用pandas库,用Python原生代码实现如下:

id_number = “身份证号码”

birth_date = id_number[6:10] + '-' + id_number[10:12] + '-' + id_number[12:14]

print(birth_date)

SQL

• 在MySQL中,可使用SUBSTRING函数,如SELECT SUBSTRING(身份证号码, 7, 4) + '-' + SUBSTRING(身份证号码, 11, 2) + '-' + SUBSTRING(身份证号码, 13, 2) AS 出生年月日 FROM 表名;。

• 在SQL Server中,可用SUBSTRING函数结合CONVERT函数,如SELECT CONVERT(DATE, SUBSTRING(身份证号码, 7, 8), 112) AS 出生年月日 FROM 表名;,这里112是日期格式代码,表明yyyymmdd。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...