如何从SQL Server中删除字符串中的值?
答案 0 :(得分:64)
这是使用REPLACE函数
完成的从SELECT查询的“SomeTable”中的“SomeColumn”中删除“somestring”:
SELECT REPLACE([SomeColumn],'somestring','') AS [SomeColumn] FROM [SomeTable]
更新表格并从“SomeTable”中的“SomeColumn”中删除“somestring”
UPDATE [SomeTable] SET [SomeColumn] = REPLACE([SomeColumn], 'somestring', '')
答案 1 :(得分:12)
在相关列上使用“REPLACE”字符串函数:
UPDATE (yourTable)
SET YourColumn = REPLACE(YourColumn, '*', '')
WHERE (your conditions)
将“*”替换为要删除的字符,并指定WHERE子句以匹配要应用更新的行。
当然,也可以使用REPLACE函数 - 正如其他回答者所示 - 在SELECT语句中 - 从您的问题开始,我假设您正在尝试更新表。
马克
答案 2 :(得分:7)
查看以下功能 - REPLACE():
select replace(DataColumn, StringToReplace, NewStringValue)
//example to replace the s in test with the number 1
select replace('test', 's', '1')
//yields te1t
http://msdn.microsoft.com/en-us/library/ms186862.aspx
<强> 修改 强>
如果要删除字符串,只需使用带有空字符串的replace函数作为第三个参数,如:
select replace(DataColumn, 'StringToRemove', '')
答案 3 :(得分:4)
UPDATE [TableName]
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '[Replacement]')
在你的实例中它将是
UPDATE [TableName]
SET [ColumnName] = Replace([ColumnName], '[StringToRemove]', '')
因为没有替代品(你想摆脱它)。
这将在指定表的每一行上运行。除非您只想指定某些行,否则不需要WHERE子句。