我目前有这个 SQL 存储过程:
DECLARE @old nvarchar(MAX)
SELECT @old = ReadPostIds FROM CrmUserDetails WHERE MemberNumber = @memNum
UPDATE CrmUserDetails SET ReadPostIds = CONVERT(NVARCHAR(MAX),REPLACE(@old,CONVERT(NVARCHAR(50), @postId), '') + CONVERT(NVARCHAR(50), @postId) + ',' )
WHERE MemberNumber = @memNum
而不是 1,2,3 等,我想为每个逗号分隔的元素和另一个数字添加一个管道,如 1|2,3|4,5|6 等。
问题是我不知道第二个数字是多少。所以我在哪里这样做:
CONVERT(NVARCHAR(MAX),REPLACE(@old,CONVERT(NVARCHAR(50), @postId), '')
我想这样做:
CONVERT(NVARCHAR(MAX),REPLACE(@old,CONVERT(NVARCHAR(50), @postId) + * + '|', '')
其中 * 是任何东西。我知道解决方案将与 PATINDEX() 有关,但我的截止日期是昨天,我已经工作了 16 个小时,并且在 SQL 方面很糟糕。
任何帮助都会很棒。
谢谢,
乔