问个sql server的问题,关于text类型的拆分问题
    我在一个表里字段decl_nostrs是text型,并且是441920207370550,441920107196909,......,这种格式。我想把它按逗号分开然后存到另一个表里的decl_no(varchar)里,使用存储过程还是用什么,该怎么写

解决方案 »

  1.   

    可以把该字段用程序读取到一个字符串当中,
    再把他split(,)存入数组,
    再把数组中的值全部插入另一个表中
      

  2.   

    --测试环境
    create table test (decl_nostrs text)
    insert into test select 'a,b,c,d,e,f'
    create table test2 (decl_no varchar(20))--执行语句
    declare @sql varchar(8000)
    select @sql=
    'insert into test2 select '''+
     replace(cast(decl_nostrs as varchar(8000)),',',''' union select ''')+'''' from testexec(@sql)--测试结果处理
    select * from test2
    drop table test
    drop table test2
    /*
    decl_no
    --------------------
    a
    b
    c
    d
    e
    f
    */
      

  3.   

    我是在后台处理,如楼上的要是我的decl_nostrs 这个大于8000个字符cast(decl_nostrs as varchar(8000))这个还能转换吗