SQL Server 2012 - 删除select子句中的右侧空格

时间:2013-01-08 15:31:05

标签: sql sql-server sql-server-2012

我们将数据库从IBM Informix更改为SQL Server。我们的ERP作为默认行为保存所有数据,并使用正确的空格填充varchar的列大小。

Informix没有返回这些正确的空间,但现在使用SQL Server,它为所有选择返回这些正确的空间,这是一个大问题。

我尝试使用SET ANSI_PADDING OFF,但我仍然得到合适的空格。

有人知道我的问题的解决方案吗?

我想删除所有选择中所有varchar列的所有正确空格。

TKS。

5 个答案:

答案 0 :(得分:0)

如何使用RTRIM

SELECT RTRIM(ColumnName)
FROM tableName

如果要更新这些列以删除尾随空格,

UPDATE tableName
SET columnName = RTRIM(columnName)

答案 1 :(得分:0)

使用TRIM()函数或将数据类型更改为varchar()或nvarchar()

答案 2 :(得分:0)

您是否尝试过修改查询中的空格,如下所示?

In a SELECT statement(MS SQL) how do you trim a string

答案 3 :(得分:0)

如果我了解您,您的应用程序中包含所有SQL代码,并且您不希望进行更改并将应用程序推出。如果您不想这样做,那么除了创建某种劫持sql server调用并转换它们的应用程序之外,您还需要清理数据。

答案 4 :(得分:0)

如果您的ERP要求空间保持正常运行,我能看到的唯一解决方案是将所有选择查询更新为RTRIM数据。

这可能只是您为更改数据库系统而必须支付的价格。