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

服務(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  

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本又大又硬又粗的视频 | 亚洲欧洲淘宝天堂日本 | 糖心vlog麻豆精东影业传媒 | 亚洲免费网站在线观看 | 好大夫在线个人空间 | 欧美日一级片 | 国产成人a∨麻豆精品 | 俄罗斯三级完整版在线观看 | 久久大胆视频 | 欧美国产合集在线视频 | 视频免费观看在线播放高清 | 国产在线成人精品 | 亚欧精品在线观看 | 四虎影音在线 | 欧美亚洲国产成人不卡 | 成人免费视屏 | 7788理论片在线观看 | 午夜宅男影院 | 国产精品麻豆99久久 | 国产福利不卡视频 | 日本特级a禁片在线播放 | 四虎影库紧急大通知 | 99国产自偷色久 | 和肥岳在厨房激情 | 久久精品久久久 | 亚洲国产AV无码综合在线 | 污污的动态图合集 | 欧美性受xxxx88喷潮 | 美女张开下身让男人桶 | 日本黄色录像视频 | 国产a片毛片 | 国产欧美日韩专区 | 男人jj视频 | 91麻豆国产福利精品 | 性色生活片在线观看 | 好爽好深好猛好舒服视频上 | 精品国产免费第一区二区三区日韩 | 亚洲黄色大片 | 午夜私人影院在线观看 视频 | 黄网在线观看免费网站台湾swag | 日韩欧美一区二区不卡 |