2

我正在尝试运行以下语句,但它没有按预期工作。

它旨在获取子查询值并将其从注释字段中删除(替换为空字符串)。

我已经检查了子查询是否返回了我期望的正确值,但是替换函数没有像我期望的那样工作。有人有什么想法吗?

先感谢您。

update contacts set comment = 
replace(comment,
   (select 'Specialty: ' + a.categoryname
    from contacts c
    join categories a
    on c.categorycode = a.categorycode
    where contacts.contactid = c.contactid)
, '')
4

2 回答 2

3

我猜应该这样做

update contacts 
set    comment = replace(comment,'Speciality :' + categories.categoryname,'')
from   contacts inner join categories 
on     contacts.categorycode=categories.categorycode
and    contacts.contactid=categories.contactid

在 sqlfiddle

于 2012-09-06T23:57:49.313 回答
0

这是替换功能:

REPLACE ( string_expression , string_pattern , string_replacement )

你确定string_pattern匹配中的东西string_expression吗?

这是指向相同信息的链接

于 2012-09-07T00:02:04.387 回答