日期:2014-05-18  浏览次数:20634 次

有关批量更新的问题
现在我有个字段是存储的是这样类似的数据

房型:标准房,数量:1,单价:10|房型:房型2,数量:1,单价:20|房型:房型3,数量:1,单价:40|房型:房型4,数量:2,单价:30

我需要把里面的数量全部汇总到这个表的另一个字段中。

可是我不知道该怎么写了,对SQL有点弱弱,请各位看看这个能实现么?每条数据都是不一样的内容。可能实现么?

------解决方案--------------------
SQL code
-->写函数实现
create function fn_sum(@str nvarchar(1000))
returns int
as
begin
    declare @ret int, @pos int
    select @ret=0, @pos=charindex('数量:',@str)+3
    while @pos>3
        begin
            set @ret=@ret+substring(@str, @pos, charindex(',',@str,@pos)-@pos)
            set @str=substring(@str,@pos,1000)
            set @pos=charindex('数量:',@str)+3
        end
    return @ret
end
go

select dbo.fn_sum('房型:标准房,数量:1,单价:10 ¦房型:房型2,数量:1,单价:20 ¦房型:房型3,数量:1,单价:40 ¦房型:房型4,数量:2,单价:30')