如何替换有时具有该字符的sql中的值;在里面

时间:2013-05-31 15:20:37

标签: sql-server tsql reporting-services

下午好堆栈溢出!

我的存储过程存在一个小问题。我试图从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方法并尝试删除一次电子邮件地址;一旦没有?

1 个答案:

答案 0 :(得分:2)

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