数据库中一字段保存的是机构的名称,
用,分割
我要如何取出其中的字符串分组?
例如:A,B,C,D,E,F,G我要得到的是
A
B
C
D
E
F
G

解决方案 »

  1.   

    参考
    http://topic.csdn.net/u/20080612/22/c850499f-bce3-4877-82d5-af2357857872.html?95866
      

  2.   

    DECLARE @s NVARCHAR(1000)SET @s='A,B,C,D,E,F,G'SET @s='select '''+REPLACE(@s,',',''' union all select ''')+''''EXEC(@s)
    /*
    A
    B
    C
    D
    E
    F
    G
    */
      

  3.   

    建议你在应用程序里用 split 函数.
      

  4.   

    if object_id('f_split')is not null drop function  f_split
    go
    create function f_split
    (
    @s     varchar(8000),  --待分拆的字符串
    @split varchar(10)     --数据分隔符
    )returns table
    as
     return
     (
      select substring(@s,number,charindex(@split,@s+@split,number)-number)as col
      from master..spt_values
      where type='p' and number<=len(@s+'a') 
      and charindex(@split,@split+@s,number)=number
      )
    go
    select * from dbo.f_split('11,2,3',',')
    /*
    col
    ----
    11
    2
    3
    (3 個資料列受到影響)
    */
      

  5.   

    这么将声明的字符串换成数据库中的字段
    select FFullName from table
      

  6.   

    在9楼的
    select * from dbo.f_split('11,2,3',',')
    前面加上插入语句就行了,类似于:
    insert into tb(FFullName) select * from dbo.f_split('11,2,3',',')