簡體   English   中英

T-SQL中的多個搜索條件單個字段

[英]Multiple Search Criteria Single Field in T-SQL

我有一個問題,我需要為SQL中的單個字段傳遞多個條件。 例如,如果我正在尋找包含Ruby,PHP或ASP.Net的所有書籍。 另外,我只想返回有限數量的行進行分頁。 我知道我可以做動態sql,但我相信可能有更好的方法。 任何幫助表示贊賞。

如果你把搜索詞放在一個表中,那就不那么難了。

declare @criteria table(text1 varchar(20)) 
declare @searchtable table(longertext varchar(2000)) 

--lines wanted  
declare @linefrom int
declare @lineto int 

set @linefrom = 1
set @lineto = 2

insert @criteria values('asp.') 
insert @criteria values('ruby') 

insert @searchtable values('bla bla ruby') 
insert @searchtable values('bla asp. bla') 
insert @searchtable values('ruby asp. bla') 

;with a as ( 
select s.longertext, rn = row_number() over(order by longertext) from @searchtable s join @criteria c 
on s.longertext like '%'+ c.text1+'%' 
group by s.longertext 
) 
select longertext from a 
where rn between @linefrom and @lineto

結果:

bla asp. bla
bla bla ruby

暫無
暫無

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

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