sql 模糊查询问题 求解决

qq404_ 2013-03-22 04:38:59
SELECT * FROM ( SELECT ROW_NUMBER() OVER( Order By WxAccountID DESC) as rownum,
b.RealName,b.HandMobile,b.Phone,b.QQ,a.WxName,a.WxAccountID,
a.WxUid,a.FansNum,a.KeyWord,a.PublicSex,a.FansPrice from WxAccount a
inner join WXUser b on a.WxuserPID=b.MediaUserID where 1=1 and a.KeyWord like '%美食 零食 家常菜%' )AS D WHERE rownum >= 1 AND rownum<=10 Order By WxAccountID DESC

%美食 零食 家常菜% 是根据参参数传进来的


我要把 % % 里面的东西变成这种:
select b.RealName,b.HandMobile,b.Phone,b.QQ,a.WxName,a.WxUid,a.FansNum,a.KeyWord,a.PublicSex,a.FansPrice from WxAccount a inner join WXUser b on a.WxuserPID=b.MediaUserID where
(WxName like N'%美食%' or
WxName like N'%零食%' or
WxName like N'%家常菜%'

拆分出来
...全文
176 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq404_ 2013-03-25
  • 打赏
  • 举报
回复
引用 7 楼 wylwyl1108 的回复:
你先把传递进来的参数 ,也就是% %中的字符串 分解成数组,用spilit(" ")方法 得到的数组中去掉空格 获取剩下的数组。 并且循环这个数组, 数组中每个元素都是 一个like % % 条件
能写一个具体的例子给我吗? 谢谢
wylwyl1108 2013-03-22
  • 打赏
  • 举报
回复
你先把传递进来的参数 ,也就是% %中的字符串 分解成数组,用spilit(" ")方法 得到的数组中去掉空格 获取剩下的数组。 并且循环这个数组, 数组中每个元素都是 一个like % % 条件
tcmakebest 2013-03-22
  • 打赏
  • 举报
回复
是比较复杂,用 XML 好了,下面是例子:
declare @key nvarchar(100) = '104,112'
declare @x xml
set @x = '<a>' + REPLACE(@key,',','</a><a>') + '</a>'
;with xx as ( select T.d.query('text()') as result from @x.nodes('/*') as T(d) )
select * from [SClient] where exists 
( select * from xx where sclient.ip like '%'+CONVERT(varchar,xx.result)+'%' )
leichentao094 2013-03-22
  • 打赏
  • 举报
回复
高手在哪里?
gxingmin 2013-03-22
  • 打赏
  • 举报
回复
 string param = "%美食 零食 家常菜%";
            param = param.Trim('%');
            param = "(WxName like N'%" + param.Replace(" ", "%' OR WxName like N'%") + "%')";
你得提前知道字段名WxName
qq404_ 2013-03-22
  • 打赏
  • 举报
回复
引用 2 楼 gxingmin 的回复:
sorry,上面的不对
写个对的看看
gxingmin 2013-03-22
  • 打赏
  • 举报
回复
sorry,上面的不对
gxingmin 2013-03-22
  • 打赏
  • 举报
回复
string param="%美食 零食 家常菜%";
param=param.Replace(" ", "%' OR '%");

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧