例如:'Swati Prakash Phapale'则可能的条件是'prakash swati phapale','swati phapale prakash',prakash swati phapale'或多重排列如何在sql中找到全名匹配(顺序无关紧要)对于
-2
A
回答
0
DECLARE @fName varchar(max) =ltrim(rtrim(isnull('swati','')))
DECLARE @mName varchar(max) =ltrim(rtrim(isnull(' phapale','')))
DECLARE @lName varchar(max) =ltrim(rtrim(isnull(' prakash','')))
DECLARE @FullName varchar(max), @Split char(1)=' ' ,@X1 xml,@i int=0
if len(@mName)!=0
set @FullName = @fName +' ' + @mName +' '[email protected]
else
begin
set @FullName = @fName +' '[email protected]
end
IF len(@FullName)=0 BEGIN
SET @FullName = 'null' END DECLARE @hit AS varchar(MAX)='',
@EmptyGuid UniqueIdentifier='00000000-0000-0000-0000-000000000000'
SELECT @X1 = CONVERT(xml,' <root> <s>' + REPLACE(@FullName,@Split,'</s> <s>') + '</s> </root> ')
declare @tmp1 as table(name varchar(max))
declare @tmp2 as table(RowNo bigint,name varchar(max))
insert into @tmp1(name)select * from (SELECT name = T.c.value('.','varchar(max)')FROM @X1.nodes('/root/s') T(c)) T
declare @num as int;
set @num = (select count(*) from @tmp1);
-- Permutations of #t
with T (name, level) as(select convert(varchar(max), name), level=1 from @tmp1 union all select convert(varchar(max),t1.name+' '+T.name),level+1
from @tmp1 t1,T where level < @num and charindex(t1.name,T.name) = 0)
insert into @tmp2(RowNo,name)select RowNo = Row_Number() over (order by name), name from T where level = @num
SET @hit= isnull((select tc.name from @tmp2 t inner join **YourTableName** tc on t.name=tc.name),'')
SET @hit=concat('Full Name Matched with:',@hit)
IF len(@hit)>0 [email protected]<>''
SET @hit=concat('FullName Matched with:',@hit)
Else
BEGIN
SET @hit=concat('No FullName Matched with:',@hit)
end
print @hit
Note : In 'YourTableName', 'Name' column contain fullname
+1
它的答案是?否则请编辑该问题并将此代码与您的问题一起发布 – Prabhakaran
+0
是的,这是我的答案,但我正在寻找最简单的方法来达到相同的要求 –
相关问题
- 1. Puppet DSL:顺序无关紧要?
- 2. SQL:查找紧密匹配但不完全匹配的行
- 3. 声明的顺序对结构无关紧要吗?
- 4. RegExp JS关于顺序patttern匹配
- 5. sql server:如何在所有数据库对象中找到完全匹配?
- 6. 是否嵌套循环的顺序无关紧要速度
- 7. 正则表达式帮助,如何使表达式的顺序无关紧要?
- 8. 如何捕获与正则表达式可选值的顺序无关紧要?
- 9. 在多对多关系表中查找完全匹配的组
- 10. 无服务找到匹配的要求
- 11. 如何找到匹配与平等的传递对在MS SQL
- 12. Python:找到完全匹配
- 13. 无法找到名称,作者,摘要或描述匹配`xxx`
- 14. 如何在数组中找到不完全匹配?
- 15. 可可触摸UITableView按字母顺序排列'#'全部匹配无匹配
- 16. JavaCC - 如何在本声明中下订单无关紧要?
- 17. PCRE中的匹配顺序
- 18. Apriori,arulesSequences,in R:它是否支持“篮子”的顺序(单一购物旅行中的顺序无关紧要)?
- 19. 如何找到/匹配对象集合的名称?
- 20. SQL查找类似的单词和通过匹配的顺序
- 21. 如何分配顺序号在SQL Server
- 22. 如何在两个SQL表中找到匹配项?
- 23. 我如何使查找结果的顺序匹配数组输入的顺序
- 24. 如何在PERL中找到匹配字符串的文件名?
- 25. SQL性能 - 在一对多表中找到匹配集
- 26. 我在codeigniter中有一个匹配,但我需要按最佳匹配顺序
- 27. 比较两个文件的顺序无关紧要的相同行
- 28. 交叉连接/合并创建组合的数据框(顺序无关紧要)
- 29. 获取两个变量及其顺序无关紧要的函数
- 30. 排序在c#/列表基于完全匹配部分匹配
你有没有尝试过,如果没有打破一些鸡蛋,并发布你正面临的错误 –