2017-06-09 47 views
0

我們需要提到的那些詞的匹配查找表是否有列1,列2,欄3,column4包含 任何現有的字匹配的話,如果它的存在,它應該顯示我從一個結果表檢索列有話有以下任何

字= 'adsa sad Co., Ltd. CZ 565 AA Rd Block B Wang, SDSD 5756756 HP 5656 Vinayak Rd Block B 201203 asdsds China, AAA Republic'

Select * from ABCTable 
where Column1 like '%adsa sad Co., Ltd. CZ 565 AA Rd Block B Wang, SDSD 5756756 HP 5656 Vinayak Rd Block B 201203 asdsds China, AAA Republic%' 

它不雖然這列工作是具有存儲5756756。

下面是我的代碼。

Declare @mytable table (column1 nvarchar(max),column2 nvarchar(max),column3 nvarchar(max)) 
insert into @mytable values ('201203','','') 
insert into @mytable values ('52013','','') 
insert into @mytable values ('52012454543','','') 

declare @input nvarchar(max) = 'adsa sad Co., Ltd. CZ 565 AA Rd Block B Wang, SDSD 5756756 HP 5656 Vinayak Rd Block B 201203 asdsds China, AAA Republic' 

select * 
from @mytable 
where @input like N'%'+column1+N'%' 
    or @input like N'%'+column2+N'%' 
    or @input like N'%'+column3+N'%' 
+0

''%ADSA傷心有限公司CZ 565 AA路B座王,SDSD 5756756 HP 5656維納亞克路B座201203個asdsds中國,AAA共和國%'將這個整個字符串用前綴和後綴搜索串。你想找到這個字符串或者這個字符串中的任何單詞嗎? –

+0

爲什麼你想要搜索整個字符串?您應該搜索特定的單詞。 –

+0

因爲任何串詞都可以提供在任何這些列的,如果它的比賽,我需要檢索行 – ashish9780

回答

0

就像其他的方式一樣。如果您在長字符串中查看「201203」。比你之前把長字符串和之後的數字放在%之後。

Declare @mytable table (column1 nvarchar(max),column2 nvarchar(max),column3 nvarchar(max)) 
insert into @mytable values 
('201203',NULL,NULL) 
,('52013',Null,NULL) 
,('52012454543',NULL,NULL) 

declare @input nvarchar(max) = 'adsa sad Co., Ltd. CZ 565 AA Rd Block B Wang, SDSD 5756756 HP 5656 Vinayak Rd Block B 201203 asdsds China, AAA Republic' 

select * 
from @mytable 
where @input like N'%'+column1+N'%' 
    or @input like N'%'+column2+N'%' 
    or @input like N'%'+column3+N'%' 
+0

它因此未盡管 – ashish9780

+0

工作怎麼就不行?查詢返回右邊的行。請詳細說明。 – Peter

+0

當我選擇我需要一個包含5756756特定記錄LIKE行只應該是唯一的WORD存在,但目前,如果我用你的查詢在多行它會顯示你可以測試你的查詢中的所有行AFER插入3行,比使用select查詢它將顯示所有三排 – ashish9780

相關問題