一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Sql Server - sql中生成查詢的模糊匹配字符串

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

2019-10-26 18:44mssql教程網(wǎng) Sql Server

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

  1. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Sql]') and xtype in (N'FN', N'IF', N'TF'))  
  2. drop function [dbo].[f_Sql]  
  3. GO  
  4.  
  5. if exists (select * from dbo.sysobjects where id = object_id(N'[序數(shù)表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)  
  6. drop table [序數(shù)表]  
  7. GO  
  8.  
  9. --為了效率,所以要一個輔助表配合  
  10. select top 1000 id=identity(int,1,1) into 序數(shù)表   
  11. from syscolumns a,syscolumns b  
  12. alter table 序數(shù)表 add constraint pk_id_序數(shù)表 primary key(id)  
  13. go  
  14.  
  15. /*--根據(jù)指定字符串生成查詢的模糊匹配字符串  
  16.  
  17.  條件連接的關(guān)鍵字為 and,or  
  18.  可以任意指定括號  
  19.  生成的條件表達(dá)式為 like 模糊匹配  
  20.  
  21. --鄒建 2004.08(引用請保留此信息)--*/  
  22.  
  23. /*--調(diào)用示例  
  24.  
  25.  --調(diào)用示例  
  26.  select A=dbo.f_Sql('(Web or HTML or Internet) and (Programmer or Developer)','content')  
  27.  select B=dbo.f_Sql('Web or HTML or Internet','content')  
  28.  select C=dbo.f_Sql('(Web and HTML)','content')  
  29.  select D=dbo.f_Sql('Web','content')  
  30. --*/  
  31. --示例函數(shù)  
  32. create function f_Sql(  
  33. @str Nvarchar(1000), --要檢索的字符串  
  34. @fdname sysname --在那個字段中檢索  
  35. )returns Nvarchar(4000)  
  36. as  
  37. begin  
  38.  declare @r Nvarchar(4000)  
  39.  set @r=''  
  40.  select @r=@r+case  
  41.   when substring(@str,id,charindex(' ',@str+' ',id)-id) in('or','and')  
  42.    then ' '+substring(@str,id,charindex(' ',@str+' ',id)-id)+' '  
  43.   when substring(@str,id,1)='('  
  44.    then '(['+@fdname+'] like ''%'  
  45.     +substring(@str,id+1,charindex(' ',@str+' ',id)-id-1)  
  46.     +'%'''  
  47.   when substring(@str,charindex(' ',@str+' ',id)-1,1)=')'  
  48.    then '['+@fdname+'] like ''%'  
  49.     +substring(@str,id,charindex(' ',@str+' ',id)-id-1)  
  50.     +'%'')'  
  51.   else '['+@fdname+'] like ''%'  
  52.    +substring(@str,id,charindex(' ',@str+' ',id)-id)  
  53.    +'%'''  
  54.   end  
  55.  from 序數(shù)表  
  56.  where id<=len(@str)  
  57.   and charindex(' ',' '+@str,id)-id=0  
  58.  return(@r)  
  59. end  
  60. go  

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区三区视频在线观看 | 动漫肉在线观看 | 91精品国产高清久久久久久91 | narutomanga玖辛奈本子 | 亚洲v成人天堂影视 | 日韩在线视频一区二区三区 | 午夜伦理yy44008影院 | chinaspanking调教 chanelpreston欧美网站 | 999jjj在线播放 | 国产精品女主播大秀在线 | 久久学生精品国产自在拍 | 亚洲欧美专区精品伊人久久 | 日本xxxxxl1820 | 国产大秀视频一区二区三区 | 亚洲国产精品高清在线 | 亚洲一二三区视频 | 日本黄a| 小嫩videos| 99热精品国产麻豆 | 波多洁野衣一二区三区 | 黑人好大 | 亚洲激情一区 | 黄色aaa级片| 欧美香蕉视频 | 国内精品久久久久影院中国 | 俄罗斯女人与公拘i交酡 | 国产99久久九九精品免费 | 亚洲国产欧美在线人网站 | 日本免费一区二区三区 | japan日韩xxxx69hd| 精品无码人妻一区二区免费AV | 亚洲精品一区在线观看 | 欧美一级在线 | 女烈受刑重口小说 | 成年女人毛片免费观看中文w | 美女免费观看一区二区三区 | 亚洲成人中文 | 波多野结衣久久国产精品 | 黑人粗长大战亚洲女 | 女人被爽到呻吟娇喘的视频动态图 | 色琪琪原网站亚洲香蕉 |