找到 name 列中, 字符串 / 有几个例如:
id        name
1         菠萝/胡萝卜/香瓜
2         黄瓜
3         西红柿/辣椒/想得到结果:
id        name                   count
1         菠萝/胡萝卜/香瓜/       3
2         黄瓜                    0
3         西红柿/辣椒/            2

解决方案 »

  1.   

    select *,len(name)-len(replace(name,'/','')) from tb
      

  2.   

    ----------------------------------------------------------------
    -- Author  :fredrickhu(小F,向高手学习)
    -- Date    :2010-06-03 15:46:33
    -- 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.1 (Build 2600: Service Pack 3)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([id] int,[name] varchar(16))
    insert [tb]
    select 1,'菠萝/胡萝卜/香瓜' union all
    select 2,'黄瓜' union all
    select 3,'西红柿/辣椒/'
    --------------开始查询--------------------------
    select *,len(name)-len(replace(name,'/','')) from tb
    ----------------结果----------------------------
    /* id          name             
    ----------- ---------------- -----------
    1           菠萝/胡萝卜/香瓜        2
    2           黄瓜               0
    3           西红柿/辣椒/          2(3 行受影响)
    */
      

  3.   

    select [id],[name],(len([name])-len(replace([name],'/','')))as 'count' from tablename
      

  4.   

    select *,len(name)-len(replace(name,'/',''))count from tb