在sql2000数据库中怎样实现里面的数据如下的格式:2,898;234,322;345

解决方案 »

  1.   

    select convert(varchar(50),cast(234234234 as money),3)
      

  2.   

    啥意思?是保存为这个数据格式?还是分解这个字符串,如过是分解,看看这个例.例如这样一个字符串1&30~10353&32~
    "~"代表一条记录,"&"代表字段值
    有多少个不确定,就是说不一定就是两条
    就是拆分后插入到表中
    拆分后
    insert into SYS_User_Role (  ROLE_ID,DEPARTMENT_ID ) values ( 1,30 )
    insert into SYS_User_Role (  ROLE_ID,DEPARTMENT_ID ) values ( 10353,32 )
    create table SYS_User_Role(ROLE_ID int,DEPARTMENT_ID int)
    gocreate procedure sp_test(@str varchar(8000))
    as
    begin
        declare @n_str varchar(50)
        while charindex('~',@str)>0
        begin
            set @n_str=replace(left(@str,charindex('~',@str)-1),'&',',')
            set @str=stuff(@str,1,charindex('~',@str),'')
            exec('insert into SYS_User_Role(ROLE_ID,DEPARTMENT_ID) values('+@n_str+')')
        end
    end
    goexec sp_test '1&30~10353&32~'
    goselect * from SYS_User_Role
    /*
    ROLE_ID     DEPARTMENT_ID 
    ----------- ------------- 
    1           30
    10353       32
    */
    godrop procedure sp_test
    drop table SYS_User_Role
    go
      

  3.   

    是这样的,现在的数据库中存有数据类型是float形式的如:2000   343333 等.我想提取数据行如:2,000   343,333的形式