嘿伙计们我一直试图解决这个问题一段时间,但我需要一些帮助,这是我的代码:
UPDATE prop_Notes
SET Notes +=
(
CASE
WHEN Notes LIKE '%<p>" + ProductName + @"</p>%'
THEN replace(Notes,'<p>" + ProductName + @"</p>', '<p>" + ProductName + @"</p>')
ELSE '<p>" + ProductName + @"</p>'
END
)
FROM prop_Notes
我希望能够在我的sql列中添加/追加一个新的字符串Notes如果它内部还没有包含该字符串。如果存在则只需替换现有项目,因此字符串不会更改。当我尝试运行它时,我收到错误的错误说法。任何帮助将不胜感激谢谢!
答案 0 :(得分:2)
您的查询问题是from
语句。您可以通过删除它来修复模糊列。
如果我能正确理解你的问题,我建议你考虑一个更简单的替代方案,例如:
UPDATE prop_Notes
SET Notes = coalesce(Notes, '') + '<p>" + ProductName + @"</p>'
where Notes not LIKE '%<p>" + ProductName + @"</p>%'
在这种情况下,您需要了解updates
中的别名:
UPDATE pn
SET Notes +=
(
CASE
WHEN Notes LIKE '%<p>" + ProductName + @"</p>%'
THEN replace(Notes,'<p>" + ProductName + @"</p>', '<p>" + ProductName + @"</p>')
ELSE '<p>" + ProductName + @"</p>'
END
)
FROM prop_Notes pn