更新SQL Server中的String部分

时间:2013-02-15 17:05:08

标签: sql-server sql-update

我需要更新SQL Server中的部分字符串。

我有:

ID   IDCityVisited   Names                    
1    10              Julya,Matheus,Donovan    
2    15              Mary,Donovan,Richard
3    20              John,Bob,Andy

我需要更新Names列,仅更改Donovan的{​​{1}}并保留所有剩余的字符串。

由于

5 个答案:

答案 0 :(得分:4)

您需要更新表格

UPDATE tblName
SET Names = REPLACE(Names,'Donovan','Paul')

答案 1 :(得分:4)

正如@Pondlife指出的那样,这很有效:

UPDATE myTable
SET Names= REPLACE(Names, 'Donovan', 'Paul')
WHERE Names LIKE '%Donovan%'

全部谢谢

答案 2 :(得分:2)

我认为你需要把SQL服务器的开始课非常认真。

这就是你想要做的。一个简单的替换功能将适用于您的问题。

此查询将过滤Id = 2的记录,然后替换函数将替换Donovan与Paul。

Update TableName
set Names = replace(Names,'Donovan','Paul')
where Id = 2

答案 3 :(得分:2)

UPDATE table SET names = REPLACE(names,'Donovan','Paul')

答案 4 :(得分:2)

试试这个:

UPDATE
Tbl
SET Names = REPLACE(Names, 'Donovan','Paul')
WHERE PATINDEX('% Donovan %', Names) != 0

<强> REPLACE (Transact-SQL)

<强> PATINDEX (Transact-SQL)

或者,如果您在Names

上有全文索引
UPDATE
Tbl
SET Names = REPLACE(Names, 'Donovan','Paul')
WHERE CONTAINS(Names, 'Donovan')

<强> CONTAINS (Transact-SQL)