我们将数据库从IBM Informix更改为SQL Server。我们的ERP作为默认行为保存所有数据,并使用正确的空格填充varchar
的列大小。
Informix没有返回这些正确的空间,但现在使用SQL Server,它为所有选择返回这些正确的空间,这是一个大问题。
我尝试使用SET ANSI_PADDING OFF
,但我仍然得到合适的空格。
有人知道我的问题的解决方案吗?
我想删除所有选择中所有varchar列的所有正确空格。
TKS。
答案 0 :(得分:0)
如何使用RTRIM
?
SELECT RTRIM(ColumnName)
FROM tableName
如果要更新这些列以删除尾随空格,
UPDATE tableName
SET columnName = RTRIM(columnName)
答案 1 :(得分:0)
使用TRIM()函数或将数据类型更改为varchar()或nvarchar()
答案 2 :(得分:0)
您是否尝试过修改查询中的空格,如下所示?
答案 3 :(得分:0)
如果我了解您,您的应用程序中包含所有SQL代码,并且您不希望进行更改并将应用程序推出。如果您不想这样做,那么除了创建某种劫持sql server调用并转换它们的应用程序之外,您还需要清理数据。
答案 4 :(得分:0)
如果您的ERP要求空间保持正常运行,我能看到的唯一解决方案是将所有选择查询更新为RTRIM
数据。
这可能只是您为更改数据库系统而必须支付的价格。