select * from phonetable where 共享范围 like '%A公司B部C科A办公室'

解决方案 »

  1.   

    首先,打开这个页面:
    http://writeblog.csdn.net/PostEditPlain.aspx
    这个页面是写BLOG时要用到的,登录后可用.
    拖动到最下面,找到上传文件的地方,上传图片。
      

  2.   

    先以数据的形式贴出来,我再试试上传图片。fredrickhu,感谢,可能是我的图没贴出来,所以让您误解了,不是这个语句的。
      

  3.   

    5 13912345677 张七 A公司D部C科E办公室 A公司
    上面这条为什么符合?
      

  4.   

    select *
    from phonetable 
    where substring(共享范围,4,1) in ('B','D') and substring(共享范围,8,1) in ('A','B','D','E') 
      

  5.   

    select * from phonetable 
    where 共享范围='A公司B部C科A办公室'
    or 共享范围='A公司B部C科'
    or 共享范围='A公司B部'
    or 共享范围='A公司'
      

  6.   

    select * from phonetable 
    where left(共享范围+'                     ',11)='A公司B部C科A办公室'
      

  7.   

    --上面的不对
    select * from phonetable 
    where 共享范围=left('A公司B部C科A办公室',len(共享范围))
      

  8.   

    需要使用charindex进行判断,如果【共享范围】包含在给定的字段(A公司B部C科A办公室)中,就符合条件。
    说明:在上面的表中“A公司B部C科A办公室”只是为了向各位高手说明单位名称的组成结构是由大到小的,只是为了说明例子,不能作为主要判断依据。
      

  9.   

    declare @sql varchar(1000)
    set @sql='A公司B部C科A办公室'
    select * from phonetable where 共享范围=left(@sql,len(共享范围))
      

  10.   

    回复cd731107:
    首先表示感谢!!
    最初也考虑过用left实现,但是单位如果是在中间怎么办?
    比如:共享范围=【B科】,给定字段(A公司B部C科A办公室),怎么办?
      

  11.   

    上面的  共享范围=【B部】,打错了。
    比如:共享范围=【B部】,给定字段(A公司B部C科A办公室),怎么办?
      

  12.   

    declare @sql varchar(1000)
    set @sql='A公司B部C科A办公室'
    select * from phonetable where charindex(共享范围,@sql)>0
      

  13.   

    感谢cd731107、claro,祝愿节日快乐!!!
      

  14.   

    回复cd731107:SQL codedeclare @sql varchar(1000)
    set @sql='A公司B部C科A办公室'
    select * from phonetable where charindex(共享范围,@sql)>0我执行后,返回0条记录,?
      

  15.   

    回复claro:知道用charindex,但语句总是写不对,执行后返回0条记录。
    select * from phonetable where charindex(共享范围,'A公司B部C科A办公室')>0请教……
      

  16.   

    要表数据的如下:insert into phonetable values('1','13912345671','张一','A公司B部C科A办公室','A公司B部C科');--新建语句
    insert into phonetable values('2','13912345672','张二','A公司B部C科B办公室','A公司B部C科');--新建语句
    insert into phonetable values('3','13912345673','张三','A公司B部A科C办公室','A公司B部A科');--新建语句
    insert into phonetable values('4','13912345674','张四','A公司A部C科A办公室','A公司A部C科');--新建语句
    insert into phonetable values('5','13912345675','张五','A公司B部C科D办公室','A公司B部C科');--新建语句
    insert into phonetable values('6','13912345676','张六','A公司B部G科A办公室','A公司B部');--新建语句
    insert into phonetable values('7','13912345677','张七','A公司D部C科E办公室','A公司');--新建语句
      

  17.   

    共享范围这个字段是nvarchar类型的吗?
      

  18.   

    declare @sql varchar(1000)
    set @sql=N'A公司B部C科A办公室'
    select * from phonetable where 共享范围=left(@sql,len(共享范围))