Sql 字符串拆分

shenhui_163 shenhui_163 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
ALTER PROCEDURE fdrp_SearchUnNormalOrders
AS

DECLARE @SpecTemp VARCHAR(500)
DECLARE mycursor CURSOR FOR
SELECT Spec,OrderdetailID FROM dbo.OrderDetail
OPEN mycursor
DECLARE @Spec VARCHAR(8000)
SET @Spec = ''
DECLARE @OrderDetailID VARCHAR(100)
SET @OrderDetailID = ''

DECLARE @Num INT --统计规格备注中加号出现的次数
SET @Num = 0
DECLARE @i INT
SET @i = 0
FETCH next FROM mycursor INTO
@Spec
,@OrderDetailID
WHILE(@@fetch_status = 0)
BEGIN
PRINT @OrderDetailID
PRINT @Spec

IF(LEN(@Spec) > 0)
BEGIN
SET @Num = LEN(@Spec)-LEN(REPLACE(@Spec,'+',''))
WHILE @i <= @Num
BEGIN
IF(CHARINDEX('+', @Spec, 0) > 0)
BEGIN
SET @SpecTemp = SUBSTRING(@Spec, 1, (CHARINDEX('+', @Spec, 0) -1 ))
PRINT @SpecTemp
END
ELSE
BEGIN
SET @SpecTemp = @Spec
PRINT @SpecTemp
END
SET @Spec = SUBSTRING(@Spec, CHARINDEX('+', @Spec, 0) + 1 ,LEN(@Spec))
SET @i = @i + 1
END
END

FETCH next FROM mycursor INTO
@Spec
,@OrderDetailID
END
CLOSE mycursor
DEALLOCATE mycursor

我想问一下,为什么我游标里的 @SpecTemp 只循环一次,而不是随着游标反复执行
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
shenhui_163
MS-SQL Server 34,876 成员 254,635 内容