比如:name字段中有个abcd的值
select * from tblTest where name 包含于 'abcdefgh' 不能用charIndex或者patIndex实现

解决方案 »

  1.   

    select * from tblTest where charindex(name ,'abcdefgh' )>0
      

  2.   

    select * from tb where charindex('abcdefgh',name)>0
    select * from tb where patindex('%abcdefgh%',name)>0select * from tb where name like '%abcdefgh%'
      

  3.   

    狙击啊..
    人家说不能用charindex啊.
      

  4.   


    like 也不能用吗?

    select * from tb 
    where replace('abcdefgh',name,'')< 8
      

  5.   


    楼上说过用
    select * from tb    
    where replace('abcdefgh',name,'')   < 8   但是'abcdefgh'其实是个变量,不一定是8位,可能很多,请帮忙继续想想
      

  6.   


    --这样?
    --> 测试数据: @os
    declare @os table (id int,name varchar(5))
    insert into @os
    select 1,'abcde' union all
    select 2,'de' union all
    select 3,'cde' union all
    select 4,'abd' union all
    select 5,'bcde' union all
    select 6,'abe' union all
    select 6,'xyz'declare @name varchar(50)
    set @name='abcdefghij'
    select * from @os where len(replace(@name,name,''))<len(@name)
      

  7.   


    declare @str varchar(100)
    set @str='abcdefgh'
    select * from tblTest where @str like '%'+name+'%'
    --> or
    select * from tblTest where @str replace(@str,name,'')<>@str
      

  8.   

    declare @str varchar(100)
    set @str='abcdefgh'
    select * from tblTest where @str like '%'+name+'%'
    --> 笔误:
    select * from tblTest where replace(@str,name,'')<>@str
      

  9.   

    14楼的方法在SQL Server可以运行,但是在Access数据库中不能用declare声明变量怎么办?
      

  10.   

    16楼的,你说用like好用,如何实现啊?
      

  11.   

    select * from tblTest where name like '%abcdefgh%'
      

  12.   

    不是这样的,我要用实现这样的查询:select * from tblTest where name 包含于 'abcdefgh'  解释一下,name中的值只是'abcdefgh' 中的一部分,也就是查询少的字符串是否包含在多的字符串中,这种查询,跟我们平常的查询相反.
      

  13.   

    学习了牛 replace(@str,name,'')<>@strlen(replace(@name,name,''))<len(@name)
    好想法
      

  14.   

    这样:
    select * from tblTest where 'abcdefgh' like '%'+name+'%'
      

  15.   

    select * from tblTest where name like '*abcd*'  
      

  16.   

     
    应该是select * from tblTest where name like '%abcd%'吧  
    新手,不知道这是不是一样的
      

  17.   

    select name from tab where replace(name,'abcd','')<>name 通杀...
      

  18.   

    楼主应该用的不是MS SQL,MS SQL 的这些函数都用不上,只能用like
    只有23楼的可以了。
      

  19.   

    顶一下23楼的 oracle下 测试通过
      

  20.   

    select * from tblTest where 'abcdefgh' like '%'+name+'%'
    不错,顶!
      

  21.   

    Select * from tblTest where name like 'abcdefgh'
      

  22.   


    Select * from tblTest where name like '%abcdefgh%'
      

  23.   

    sql或者access有没有这样的语法?
    select * from tblTest where  'abcdefgh' like name ??????????
    呵呵
      

  24.   

    select * from tblTest where 'abcdefgh' like '%'+name+'%'这个在Access里面不能用
      

  25.   

    access:
    select * from tblTest where 'abcdefgh' like '*'+name+'*'