2013-02-15 71 views
1

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

我:

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

我需要更新Names列只DonovanPaul改变和维持所有剩余的字符串,因为它是。

谢谢

+0

这有[已被问](http://stackoverflow.com/questions/4856089/how-to-update-a-part-of-the-string-using-replace-function-in-tsql),应该参考Google和MSDN可以很容易地回答你自己。你尝试了什么,你的困难究竟是什么? – Pondlife 2013-02-15 17:10:12

回答

4

全文索引作为@Pondlife点我,这工作:

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

谢谢全部

2

我认为你需要采取SQL服务器开始上课很严重。

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

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

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

感谢您的回复,但SQL Server不是我的焦点。这就是我来这里问的原因。而你所填写的Id = 2并不能满足我的要求。作为Pondlife点我,这应该是: UPDATE myTable的 集名称= REPLACE(名称, '多诺万', '保罗') WHERE反正 – Khrys 2013-02-15 17:21:14

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

你需要更新你的表

UPDATE tblName 
SET Names = REPLACE(Names,'Donovan','Paul') 
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)

+0

@Why包含,他并没有指定名称LIKE '%多诺万%' 谢谢全文搜索这里。 – 2013-02-15 17:10:27

相关问题