我的问题并不是一般的模糊查询,一般的模糊查询是用通配符加关键字,找出符合条件的数据项。但我的问题是一个反向的,即以数据项中某字段为关键字,然后我传一个字符串,这个字符串包含其关键字,就返回该数据项,还不懂的话我直说我的问题。
有一个表的一个字段叫目录字段,传门存储一个目录的路径,然后我传入一个路径,判断目录字段是否在传入路径里面,满足就返回该数据行。

解决方案 »

  1.   

    declare @url varchar(100)select * from tb where @url like '%'+url+'%'
      

  2.   

    SQL语句里可以加第一行语句吗?
    declare @url varchar(100)
      

  3.   

    @url不是tb表里面的字段,这样不行。我要的是反向,我自创的例如这样
    select * from tb where url like '%' + tb.url + '%'
    其中前面的url是传进去的,后面的tb.url是数据项的字段,如何实现我这个问题
      

  4.   

    先声名一个变量叫url,声名之后没赋值
    declare @url varchar(100)
    然后执行,也就是后面的那个url是tb里的字段吗?如果是,那@url如何接受传入值
    select * from tb where @url like '%'+url+'%'因为我不是在数据库里执行,而是要从软件里调用,不能写成两行。请您多指导我一下。
      

  5.   

    可以用charindex来实现吧select * from tb where charindex(@url,url)>0
      

  6.   

    还是?select * from tb where charindex(url,@url)>0
      

  7.   

    create proc pr_name(@url varchar(200))
    as
    begin
        select * from 你的表名 where @url like '%'+路径字段+'%'
    endexec pr_name 你传得值
      

  8.   

    我的参数是访问路径,我的工程是J2EE,拿到客户所访问的路径,然后判断数据表的目录字段中是以路径的开头(注意是反身不是以该路径为开头,而是字段是该路径的开头),如果是就返回。
      

  9.   

    就按楼主说的办吧:
    "正向模糊查询":
     where 列名 like '%关键字%'
    "反向模糊查询":
     where 关键字 like '%'+列名+'%'估计看了这个,楼主就能做出来了.
      

  10.   

    嗯,要试一下才行。谢谢qianjin036a和ssp2009的关注,等我试过之后才给你们分,万一不行我会留言给你们的。还是需要你们再关注一段时间。