簡體   English   中英

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

[英]SQL server, Find all columns that are contained in a string

假設我有一張桌子:

Id int, 
Name varchar(10)

具有值:

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

我想返回字符串中包含的所有名稱。 例如,“ Nick,Mick”將返回Nick和Mike。

我已經嘗試過使用LIKE但是它以另一種方式來返回包含字符串的值。

我希望有這樣的東西,但它確實有效。

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

結果:

1, Nick and 2, Mike

嘗試這個:

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

在這里演示

嘗試這個:

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

演示。 查找完全匹配的名稱

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+',%'
;

檢查一下。

        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))

輸出:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM