如何从SQL Server中的列中删除一个字符?

时间:2009-06-11 20:17:48

标签: sql sql-server

如何从SQL Server中删除字符串中的值?

4 个答案:

答案 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子句。