我的.NET项目中有一个部署后脚本。
在部署时,我想根据某些条件更新一些行。
这是我到目前为止所做的:
DECLARE @BRANDS NVARCHAR(500) = 'http://example.com/';
UPDATE [ServiceVersion]
SET [ExternalUrl] as = CASE
WHEN (
SELECT [ExternalUrl]
FROM [ServiceVersion]
WHERE [GatewayPath] = '/proxy/brands'
) != @BRANDS
THEN @BRANDS
END
WHERE [GatewayPath] = '/proxy/brands'
如果行不等于我的变量,则更新它。否则它什么都不做。
我想做的不仅仅是添加另一个条件,比如x!= BRAND&& string不包含“abc”更新。
但是如何在检查子字符串的CASE中添加另一个条件?
答案 0 :(得分:1)
试试这个......
DECLARE @BRANDS NVARCHAR(500) = 'http://example.com/';
UPDATE [ServiceVersion]
SET [ExternalUrl] = @BRANDS
WHERE
[ExternalUrl] != @BRANDS
AND [ExternalUrl] not like '%abc%'
AND [GatewayPath] = '/proxy/brands'
希望这有帮助!