a表b字段id       B
1     江西赣州--广东深圳,按时地方艰苦啊就开始得分的
2     赣州--山东济南,按时打开解放会计师地方
2     江西省赣州市--福建厦门,爱上对方空间爱上对方空间取出A表B字段前6个字内包含赣州的

解决方案 »

  1.   

    id      B 
    1    江西赣州--广东深圳,按时地方艰苦啊就开始得分的 
    2    赣州--山东济南,按时打开解放会计师地方 
    2    江西省赣州市--福建厦门,爱上对方空间爱上对方空间
    3    北京--赣州,按时大家分开按时打开解放
      

  2.   

    select * from tb
    where patindex('%赣州%',left(b,6))>0
      

  3.   

    select
      *
    from
      tb
    where
      charindex('赣州',left(b,6))>0
      

  4.   

    SELECT * FROM TB WHERE left(B,6) like '%赣州%'
      

  5.   

    ----------------------------------------------------------------
    -- Author  :fredrickhu(我是小F,向高手学习)
    -- Date    :2009-12-28 14:28:00
    -- Version:
    --      Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) 
    -- Nov 24 2008 13:01:59 
    -- Copyright (c) 1988-2005 Microsoft Corporation
    -- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([id] int,[B] varchar(47))
    insert [tb]
    select 1,'江西赣州--广东深圳,按时地方艰苦啊就开始得分的' union all
    select 2,'赣州--山东济南,按时打开解放会计师地方' union all
    select 2,'江西省赣州市--福建厦门,爱上对方空间爱上对方空间'
    --------------开始查询--------------------------
    select
      *
    from
      tb
    where
      charindex('赣州',left(b,6))>0
    ----------------结果----------------------------
    /* id          B
    ----------- -----------------------------------------------
    1           江西赣州--广东深圳,按时地方艰苦啊就开始得分的
    2           赣州--山东济南,按时打开解放会计师地方
    2           江西省赣州市--福建厦门,爱上对方空间爱上对方空间(3 行受影响)*/
      

  6.   

    select
      *
    from
      tb
    where
      charindex('赣州',left(b,len(b)-6))>0
      

  7.   

    --SORRY  修改
    select
      *
    from
      tb
    where
      charindex('赣州',substring(b,7,len(b)-6))>0
      

  8.   

    消息 536,级别 16,状态 5,第 1 行
    传递到 SUBSTRING 函数的长度参数无效。