如何找到一個字符串基於輸入字符在sql?找到一個字符串根據輸入字符在sql
例如:
表1列名:desc
data warehousing
sql serverl
c#.Net
asp.net
我輸入:
@FindString='dho'
應該返回'data warehousing'
我輸入:
@FindString='sv'
應該返回'sql serverl'
我輸入:
@FindString='aep'
應該返回'asp.net'
如何做到這一點?
如何找到一個字符串基於輸入字符在sql?找到一個字符串根據輸入字符在sql
例如:
表1列名:desc
data warehousing
sql serverl
c#.Net
asp.net
我輸入:@FindString='dho'
應該返回'data warehousing'
我輸入:@FindString='sv'
應該返回'sql serverl'
我輸入:@FindString='aep'
應該返回'asp.net'
如何做到這一點?
轉到與此代碼:
SELECT * FROM table WHERE field like '%d%' AND field like '%h%' AND field like '%o%'
我的意思是,你應該與周圍%的輸入字符串的每個字符。
它可以包含任意順序我的意思•我的輸入:@查找字符串=「AEP」應該返回「ASP。淨' – Ram
使用此:SELECT * FROM表WHERE字段如'%d%'AND字段如'%h%'AND字段如'%o%'。 –
我想你想的:
declare @inputString nvarchar(max) = 'eap';
declare @where nvarchar(max) =
case @inputString
when 'dho' then 'data warehousing'
when 'sv' then 'sql serverl'
when 'eap' then 'asp.net'
else ''
end
select * from Table1
where desc = @where
也查詢可以是這樣的:
declare @inputString nvarchar(max) = 'dho'
select * from
(select
case [desc]
when 'data warehousing' then 'dho'
when 'sql serverl' then 'sv'
when 'asp.net' then 'aep'
else ''
end
as [newDesc]
from [table])t
where newDesc = @inputString
心解釋爲什麼需要這麼奇怪? – Raj
'aep' - >'asp.net'?!!?!?!?你得解釋一下! –
關於全文檢索的更多信息,您將需要使用FTS及其「此處的[屈曲形式搜索功能](請閱讀此處)(http://technet.microsoft.com/zh-cn/library/ms142571.aspx) –