select * from tb 
 where worktelephone=@phone or hometelephone=@phone or cellphone=@phone

解决方案 »

  1.   

    变量
    declare @telephone varchar(11)
    set @telephone='xxx'
    select * from tb where worktelephone=@telephone or hometelephone=@telephone or cellphone=@telephone
      

  2.   

    我忘说了  只可以使用and  OR不可以
      

  3.   

    select * from tb 
     where charindex(@phone+',',worktelephone+','+hometelephone+','+cellphone+',')>0
      

  4.   

    因为这是我公司技术经理给我出的一道题  他提示我 用and查比or好用
      

  5.   

    他是不是想告诉lz,负负得正?use tempdb;
    /*
    create table tb
    (
    id int not null,
    worktelephone nvarchar(10),
    hometelephone nvarchar(10),
    cellphone nvarchar(10)
    );
    insert into tb(id,worktelephone,hometelephone,cellphone)
    values
    (1,'1234',null,null),
    (2,null,'1234',null),
    (3,null,null,'1234');
    */
    declare @str as nvarchar(10);
    set @str = '1234';select *
    from tb
    where not 
    (
    @str <> worktelephone
    and
    @str <> hometelephone
    and
    @str <> cellphone
    );