Sql 删除字符前后的空白

Sql 删除字符前后的空白,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我的数据看起来像 ID DATA 1 abc - abc 2 efg - efg 现在我想删除“-”前后的空白 最终结果将是 ID DATA 1 abc-abc 2 efg-efg 有什么想法吗?您可以使用替换功能: Select ID, REPLACE(DATA, ' - ', '-') AS DATA FROM TableName 试试这个: update table_name set data = REPLACE(data, ' - '

我的数据看起来像

ID     DATA
1     abc - abc
2     efg - efg
现在我想删除“-”前后的空白

最终结果将是

ID     DATA
1     abc-abc
2     efg-efg

有什么想法吗?

您可以使用替换功能:

Select ID, REPLACE(DATA, ' - ', '-') AS DATA FROM TableName
试试这个:

update table_name set data = REPLACE(data, ' - ', '-')
尝试使用

DECLARE @temp1 varchar(1000)
SET @temp1 = 'abc - abc'

SELECT replace( @temp1 , ' - ', '-' )

这也将删除列中的任何其他空白。。但编辑后效果更好:每边总是有一个空格吗?从技术上讲,所有查询都不正确。您必须拆分每个值,应用修剪,然后重新连接。