主頁(yè) > 知識(shí)庫(kù) > sql中生成查詢的模糊匹配字符串

sql中生成查詢的模糊匹配字符串

熱門(mén)標(biāo)簽:電話機(jī)器人接口是什么樣的 溫州語(yǔ)音外呼系統(tǒng)排名 怎么在高德地圖標(biāo)注多個(gè)點(diǎn) 福州外呼系統(tǒng)招商 四川穩(wěn)定外呼系統(tǒng)公司 商家地圖標(biāo)注圖片 沈陽(yáng)外呼系統(tǒng)有效果嗎 AI智能云呼電話機(jī)器人怎么注冊(cè) 百度地圖標(biāo)注信息怎么修改
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Sql]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_Sql]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[序數(shù)表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [序數(shù)表]
GO

--為了效率,所以要一個(gè)輔助表配合
select top 1000 id=identity(int,1,1) into 序數(shù)表 
from syscolumns a,syscolumns b
alter table 序數(shù)表 add constraint pk_id_序數(shù)表 primary key(id)
go

/*--根據(jù)指定字符串生成查詢的模糊匹配字符串

 條件連接的關(guān)鍵字為 and,or
 可以任意指定括號(hào)
 生成的條件表達(dá)式為 like 模糊匹配

--鄒建 2004.08(引用請(qǐng)保留此信息)--*/

/*--調(diào)用示例

 --調(diào)用示例
 select A=dbo.f_Sql('(Web or HTML or Internet) and (Programmer or Developer)','content')
 select B=dbo.f_Sql('Web or HTML or Internet','content')
 select C=dbo.f_Sql('(Web and HTML)','content')
 select D=dbo.f_Sql('Web','content')
--*/
--示例函數(shù)
create function f_Sql(
@str Nvarchar(1000), --要檢索的字符串
@fdname sysname --在那個(gè)字段中檢索
)returns Nvarchar(4000)
as
begin
 declare @r Nvarchar(4000)
 set @r=''
 select @r=@r+case
  when substring(@str,id,charindex(' ',@str+' ',id)-id) in('or','and')
   then ' '+substring(@str,id,charindex(' ',@str+' ',id)-id)+' '
  when substring(@str,id,1)='('
   then '(['+@fdname+'] like ''%'
    +substring(@str,id+1,charindex(' ',@str+' ',id)-id-1)
    +'%'''
  when substring(@str,charindex(' ',@str+' ',id)-1,1)=')'
   then '['+@fdname+'] like ''%'
    +substring(@str,id,charindex(' ',@str+' ',id)-id-1)
    +'%'')'
  else '['+@fdname+'] like ''%'
   +substring(@str,id,charindex(' ',@str+' ',id)-id)
   +'%'''
  end
 from 序數(shù)表
 where id=len(@str)
  and charindex(' ',' '+@str,id)-id=0
 return(@r)
end
go

您可能感興趣的文章:
  • 實(shí)現(xiàn)按關(guān)健字模糊查詢,并按匹配度排序的SQL語(yǔ)句
  • 擴(kuò)展 Entity Framework支持復(fù)雜的過(guò)濾條件(多個(gè)關(guān)鍵字模糊匹配)
  • C/C++實(shí)現(xiàn)字符串模糊匹配

標(biāo)簽:無(wú)錫 七臺(tái)河 寶雞 來(lái)賓 營(yíng)口 西寧 邯鄲 汕尾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql中生成查詢的模糊匹配字符串》,本文關(guān)鍵詞  sql,中,生成,查詢,的,模糊,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sql中生成查詢的模糊匹配字符串》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于sql中生成查詢的模糊匹配字符串的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章