1

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

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

我尝试使用SET ANSI_PADDING OFF,但我仍然得到正确的空间。

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

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

tks。

4

5 回答 5

0

如果我理解你的话,你的应用程序中有所有的 SQL 代码,你不想经历并改变它并将应用程序推出。如果您不想这样做,除了创建某种劫持 sql server 调用并转换它们的应用程序之外,您还需要清理数据。

于 2013-01-08T22:49:47.777 回答
0

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

这可能只是您更改数据库系统所必须付出的代价。

于 2013-01-08T22:58:22.560 回答
0

如何使用RTRIM

SELECT RTRIM(ColumnName)
FROM tableName

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

UPDATE tableName
SET columnName = RTRIM(columnName)
于 2013-01-08T15:32:49.613 回答
0

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

于 2013-01-08T15:32:52.013 回答
0

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

在 SELECT 语句(MS SQL)中,如何修剪字符串

于 2013-01-08T15:33:08.197 回答