比如一个表多字段 a b c 
如何查询 a b c随便哪个字段包含 '1' 就可以了

解决方案 »

  1.   


    select * from tb 
    where charindex('1', a)>0 or charindex('1', b)>0 or charindex('1', c)>0
      

  2.   

    如果就是a,b,c3个字段的话,穷举法就可以select * from tablename where (a like '%1%') or (b like '%1%') or (c like '%1%')如果是表中所有字段的话declare @a varchar(8000)
    declare @b varchar(8000)
    set @b = 'select * from tablename  where '
    select @a=isnull(@a+'or  ('+[name] + ' like ''%1%'' ) ','') from syscolumns where id = object_id('tablename ')
    set @b =@b+substring(@a,3,len(@a)-2) 
    exec (@b)这个应该可以