求助:
参数输入:张三,李四,王五,马六........(输入一串字符,以,号为分界)
表名:table1(ID,姓名,学号,成绩)
返回结果:将‘姓名’列 包含有张三或者 李四 或者 王五.....等的记录查询出来

解决方案 »

  1.   

    select * from table1 where ','+@参数+',' like  '%,'+姓名+',%'
      

  2.   

    或用charindex/patindexselect * from table1 where patindex('%,'+姓名+',%',','+@参数+',')>0 
      

  3.   

    你好像理解错了,不过还是谢谢你:我的意思:
    有一字符串:@i='张,王......' (以,号分开,无限输入)

    ID Name 
    1  张三
    2  张地
    3  王五
    4  李四
    5  王一要求返回结果,将带有张字及王的记录返回:
    1  张三
    2  张地
    3  王五
    5  王一
      

  4.   


    你好像理解错了,不过还是谢谢你:我的意思:
    有一字符串:@i='张,王......' (以,号分开,无限输入)

    ID Name 
    1  张三
    2  张地
    3  王五
    4  李四
    5  王一要求返回结果,将带有张字及王的记录返回:
    1  张三
    2  张地
    3  王五
    5  王一
      

  5.   

    --你可以自己测测看看结果是否正确
    无限输入?
    如果输入字符比较多,可用xml类型传参或表类型传参,这样效率高
      

  6.   


    declare @s nvarchar(20)
    set @s='张,王'
    select * from #t where charindex(','+left(name,1)+',',','+@s+',')>0
      

  7.   

    如果直接用sql我不会,如果再配合程序,就好办多啦。先查出张的,再查出王的两个记录合在一起就是啦。