---我是楼主,我准备的测试数据.IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[test]') AND type in (N'U'))
DROP TABLE [dbo].[test]
GO
CREATE TABLE [dbo].[test](
[data_text] [varchar](50) NULL,
[data_owner] [varchar](50) NULL
) ON [PRIMARY]
GO
INSERT INTO test VALUES('AAA','xiaoli,xiaolizi')--小李,小李子
INSERT INTO test VALUES('BBB','xiaolizi')--小李子SELECT * FROM test
where data_owner like '%xiaoli%'

解决方案 »

  1.   

    SELECT * FROM test
    where ','+data_owner+',' like '%,xiaoli,%'
      

  2.   


    declare @x varchar(50)
    select @x='xiaoli'select * 
     from test
     where charindex(','+@x+',',','+data_owner+',',1)>0/*
    data_text            data_owner
    -------------------- ------------------------------
    AAA                  xiaoli,xiaolizi(1 行受影响)
    */
      

  3.   


    老大,请教2个问题,
    1.不用 charindex 用 LIKE 能完成这个题么?
    2.假设 问题1 成立, charindex, 和LIKE 哪个速度快?
      

  4.   

    1.不用 charindex 用 LIKE 能完成这个题么?
    --> 可以,答案如2楼之回复.2.假设 问题1 成立, charindex, 和LIKE 哪个速度快?
    --> 速度差不多,算相等.