如表A:
姓名
胡锦涛,温家宝,周迅,李连杰
温家宝,周迅,李连杰
温家宝,周迅,
温家宝
周迅请问用什么函数可以显示姓名包含温家宝或者周迅的。 如:根据表A可以得到下面表
姓名
温家宝,周迅
温家宝,周迅
温家宝,周迅
温家宝,
周迅

解决方案 »

  1.   


    select *
    from tb
    wehre (CHARINDEX('温家宝',姓名)>0 or CHARINDEX('周迅',姓名)>0)
      

  2.   

    */
    --> 测试数据:[TB]
    if object_id('[TB]') is not null drop table [TB]
    create table [TB]([姓名] varchar(25))
    insert [TB]
    select '胡锦涛,温家宝,周迅,李连杰' union all
    select '温家宝,周迅,李连杰' union all
    select '温家宝,周迅,' union all
    select '温家宝' union all
    select '周迅'select * from [TB]SELECT [姓名] = SUBSTRING([姓名],CHARINDEX('温家宝,周迅',[姓名]),6) FROM [TB]/*
    姓名
    ------------
    温家宝,周迅
    温家宝,周迅
    温家宝,周迅
    温家宝
    周迅(5 行受影响)
    */
      

  3.   

    SELECT * FROM A WHERE ','+[姓名]+',' LIKE '%,温家宝,%' OR ','+[姓名]+',' LIKE '%,周迅,%'
      

  4.   

    like 
    patindex
    charindex
      

  5.   


    create table #tt(姓名 varchar(100))
    insert #tt select '胡锦涛,温家宝,周迅,李连杰'
    insert #tt select '温家宝,周迅,李连杰'
    insert #tt select '温家宝,周迅,'
    insert #tt select '温家宝'
    insert #tt select '周迅'
    select case when CHARINDEX('温家宝',姓名)>0 and CHARINDEX('周迅',姓名)>0 then '温家宝,周迅'
    when CHARINDEX('温家宝',姓名)>0 and CHARINDEX('周迅',姓名)=0  then '温家宝'
    when CHARINDEX('周迅',姓名)>0 and CHARINDEX('温家宝',姓名)=0  then '周迅' end
    from #tt
    where (CHARINDEX('温家宝',姓名)>0 or CHARINDEX('周迅',姓名)>0)------------
    温家宝,周迅
    温家宝,周迅
    温家宝,周迅
    温家宝
    周迅(5 行受影响)
      

  6.   

    ---测试数据---
    if object_id('[A]') is not null drop table [A]
    go
    create table [A]([姓名] varchar(25))
    insert [A]
    select '胡锦涛,温家宝,周迅,李连杰' union all
    select '温家宝,周迅,李连杰' union all
    select '温家宝,周迅,' union all
    select '温家宝' union all
    select '周迅'
     
    ---查询---
    SELECT 
      CASE WHEN CHARINDEX(',温家宝,',','+姓名+',')>0 THEN '温家宝,' ELSE '' END
     +CASE WHEN CHARINDEX(',周迅,',','+姓名+',')>0 THEN '周迅' ELSE '' END
     AS 姓名
    FROM 
      A
    WHERE
      CHARINDEX(',温家宝,',','+姓名+',')>0
    OR
      CHARINDEX(',周迅,',','+姓名+',')>0
    ---结果---
    姓名
    -----------
    温家宝,周迅
    温家宝,周迅
    温家宝,周迅
    温家宝,
    周迅(5 行受影响)
      

  7.   

    2楼的charindex 后面那个6是什么意思啊,为什么会出现那个结果呢