SQL server,查找字符串中包含的所有列

时间:2017-03-03 06:56:03

标签: sql sql-server

假设我有一张桌子:

Id int, 
Name varchar(10)

值:

(1, Nick), (2, Mike), (3, Eric)

我想返回字符串中包含的所有名称。例如" Nick,Mick"会回到尼克和迈克。

我已尝试使用LIKE,但它的另一种方法是返回包含字符串的值。

我希望这样的事情,但它确实有效。

SELECT * FROM table
WHERE Name.isContained("Nick, Mike");

结果:

1, Nick and 2, Mike

4 个答案:

答案 0 :(得分:2)

试试这个:

SELECT Name
FROM mytable
WHERE PATINDEX('%'+Name+'%', 'Nick, Mike') > 0

Demo here

答案 1 :(得分:1)

试试这个:

select name from tbl_sound where  SOUNDEX(`name`) like '%00%'

答案 2 :(得分:0)

演示。查找确切的名称匹配

create table demo (
    Id int, 
Name varchar(10));

insert demo
values
(1, 'Nick'), (2, 'Mike'), (3, 'Eric');

declare @prm varchar(200) = 'Nick,Mike,Ann';
select *  
from demo
where ','+ @prm +',' like '%,'+Name+',%'
;

答案 3 :(得分:0)

检查这个。

        declare @tmp nvarchar(250)
        SET @tmp = ''
        select  @tmp = @tmp + concat(ID,' , ',name,' and ') 
        from table
        where Name in ('Nick','Mike')

        select SUBSTRING(@tmp, -2, LEN(@tmp))
  

OutPut:

enter image description here