帮助尝试使用PATINDEX或CHARINDEX找出SQL连接

努力将两个遗留数据库系统连接到新数据库中,我可以避免愚蠢的问题,如下所示.我试图在文本数据不同的两个表上进行连接,除了在另一个表中没有使用实际的完整姓氏的情况之外,它通常有效.还有其他列是连接的一部分,但我仍然需要在这两列上执行连接以获得正确的结果.

Table1.Column       Table2.Column
Miller            01 Miller
Grant             1-3 Grant
Rice/Bennet       2A Rice

所以(CHARINDEX(table1.column,Table2.Column)> 0)在姓氏与Rice / Bennet<>之间略有不同时使用excpet 02饭.处理这个问题的最佳方法是什么?一般来说,这种类型的Senario是唯一的阻碍.

更新:我在想,或许更简单的方法是将任何数字和字符替换为table2.column中的第一个空格,并将其用于table1.column?我在前几年发现,前几个字符可能是数字或字母,但在姓氏开头之前有一个空格

最佳答案 根据您的问题的更新,如果您想要删除前几个字符,包括第二列中的空格,并将其与第一列进行比较,就像您所描述的那样,这就是您可以在WHERE子句中记下的内容.

(CHARINDEX(RIGHT(table2.column,len(table2.column)-CHARINDEX(”,table2.column)),table1.column)> 0)

点赞