我正在比较不同表中的两列,以获得匹配的记录。这些表除了名字和姓氏之外没有任何唯一键。但是如果tableA有Aa'aa
,tableB有Aaaa
,我就不会得到正确的输出。有没有人能建议如何通过忽略特殊字符/任何其他替代解决方案来进行比较?
SELECT * FROM TableA A where EXISTS
(SELECT '' FROM TableB B
WHERE
TRIM(A.namef) = TRIM(B.namef)
AND TRIM(A.namel) = TRIM(B.namel)
)
2条答案
按热度按时间68bkxrlz1#
如果您只想删除任何非字母的内容,请用途:
jljoyd4f2#
您可以尝试正则表达式方法。假设您只想比较字母和数字字符,您可以这样做:
基本上,这会在比较每个字符串之前删除非单词字符-单词字符被定义为字母或数字,加上下划线字符。