我通常不是sql用户,但需要从mssql上的人员列表中查找匹配的姓名/姓氏。我正在尝试从tablename中找到相似的名字来匹配我拥有的人的列表。线条如下所示:
Select *
from TABLENAME(nolock)
Where SomeRule='04' and RTRIM(Name) +' ' + RTRIM(SecondName) +' '+RTRIM(Surname) in (THE LIST OF PEOPLE HERE)
但是这个方法只能让我匹配那些有第二个名字的人。如果一个人没有第二个名字,但他们的名字+姓氏匹配,它不会出现。我想看到的人谁有100%匹配的名字,第二个名字姓氏或姓名姓氏(如果他们没有第二个名字)。
先谢谢你们
2条答案
按热度按时间tkclm6bt1#
提供的人员列表是一张表
x759pob22#
让我们看一些行:
namesecondnamesnamesremark将中间名为“john thomas smith”的“john thomas smith”person与中间名为“john thomas smith”的“john”person连接起来,中间名为“john” 史密斯,约翰,史密斯,中间名不详的人
找不到没有中间名的人,因为在您创建的字符串中有两个空格分隔名字和姓氏。找不到我们不知道中间名的人,因为连接的字符串为空。
你可以用
CASE WHEN
要对此进行检查并做出相应React: