如何比对两张表里不同位数的身份证号

投稿:花尽千霜默 优质问答领域创作者 发布时间:2023-10-22 11:51:21
如何比对两张表里不同位数的身份证号

答案:可以使用“INNER JOIN”语句来找出两个表中相同一个人的行。

具体步骤解析如下:

首先检查两个表中的列是否具有相同的列名和数据类型。如果不相同,需要将其中一个表中的列进行调整,使其与另一个表中的列名和数据类型一致。

接下来,使用“INNER JOIN”语句将两个表连接起来。连接语句的语法如下:

sql

复制

SELECT *

FROM table_A

INNER JOIN table_B

ON table_A.姓名 = table_B.姓名

AND table_A.身份证号 = table_B.身份证号;

其中,"table_A"和"table_B"是两个表的名称,"姓名"和"身份证号"是需要匹配的列名。

执行以上查询语句后,将会返回两个表中具有相同姓名和身份证号的行。如果两个表中存在多条相同的人的记录,则只会返回其中的任意一条记录。

需要注意的是,如果两个表中的身份证号列包含15位和18位两种长度,需要先使用截取函数将身份证号统一截取到相同的长度,然后再进行匹配操作。例如,可以使用"SUBSTRING"函数截取身份证号的后16位进行匹配。

另外,还需要注意在进行JOIN操作时,确保两个表中的列类型和数据格式一致,以便正确匹配。

如何比对两张表里不同位数的身份证号

方法/步骤

身份证号码分别输入AB两列,Excel分别对AB列两列数据对比,比如A2=B2,就返回相同,否则返回不相同。

D列输入D2公式为:=IF(C2=B2,"相同","不同"),这样就可以实现身份证两列对比,判断C2和B2是否相同,如果相同就返回值“相同”,反之则显示不同。

Excel中exact函数可以完全区分大小写,因此C2公式可以更改为:=IF(EXACT(A2,B2)=TRUE,"相同","不同"),然后下拉复制公式,完成excel两列数据对比。

这样我们就很准确的判断两列身份证号码是否相同了,各位朋友按这方法试试。