0

下午好堆栈溢出!

我对存储过程有一个小问题。我正在尝试从 SQL 中的一长串文本中删除一个电子邮件地址,但有时该电子邮件地址以 ; 结尾。有时它不会。

我的代码是这个

ALTER PROCEDURE spReports_DeleteSubscriber
@SubscriptionID varchar(50),
@Email varchar(50)

AS

BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Remove email from subscriptions
UPDATE Subscriptions
SET [ExtensionSettings] = REPLACE(CONVERT(nvarchar(max),[ExtensionSettings]),@Email + ';','')
Where SubscriptionID = @SubscriptionID

-- Remove email from descriptions
UPDATE Subscriptions
SET [Description] = REPLACE([Description],@Email + ';','')
Where SubscriptionID = @SubscriptionID

END
GO

您是否认为我必须使用两次 REPLACE 方法并尝试使用 ; 删除电子邮件地址一次 一次没有?

4

1 回答 1

2

我会使用双重替换。简单有效

于 2013-05-31T15:30:28.093 回答