是转成数据吧?情况一(已经有表):
declare @s varchar(1000)
set @s=replace('R01,R00,A01',',',''' union all select ''')
set @s='insert tablename(字段1) select '''+@s+''''
exec(@s)情况2(没有建表):
declare @s varchar(1000)
set @s=replace('R01,R00,A01',',',''' union all select ''')
set @s='select * into tablename from (select 字段1='''+@s+''') as x'
exec(@s)

解决方案 »

  1.   

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_split]') and xtype in (N'FN', N'IF', N'TF'))
    drop function [dbo].[f_split]
    GOif exists (select * from dbo.sysobjects where id = object_id(N'[序数表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [序数表]
    GO--为了效率,所以要一个辅助表配合
    select top 8000 id=identity(int,1,1) into 序数表 
    from syscolumns a,syscolumns b
    alter table 序数表 add constraint pk_id_序数表 primary key(id)
    go/*--字符串分函数 分拆指定分隔符的的字符串,返回结果表--邹建 2004-4--*/
    create function f_split(
    @str varchar(8000), --要分拆的字符串
    @splitchar varchar(10) --分隔符
    )returns table
    as
    return(
    select re=substring(@str,id,charindex(@splitchar,@str+@splitchar,id)-id)
    from 序数表 
    where id<=len(@str)+1 and charindex(@splitchar,@splitchar+@str,id)-id=0
    )
    go--调用
    select * from f_split('asdlkfa,asf as,dd  a,','a,')