修剪Char字段



我们目前使用Delphi与Borland数据库。我们计划从borland迁移到Firebird库,(borland lib有内存泄漏)。

我们现在遇到的问题是,Firebird库返回一个尾随空格的字符,这在某种程度上是borland库处理的。我们编写了大量的代码,却没有做任何调整。

所以现在如果'abc'存储在char(10)字段中,它返回'abc'。我们的代码失败了。我想知道是否有一些配置,我可以在DB或火鸟库上做自动修剪字符字段。

这是SQL标准中规定的要求:CHAR字段应该返回用空格填充的最大定义长度。如果你不想要这种行为,你需要使用VARCHAR而不是CHAR。

更新:不确定它是否有帮助,但根据此消息,如果您正在使用IBX,您可以创建一个解决方案。

    为什么不直接把数据库中的字段类型从CHAR改成VARCHAR呢?
  1. 可以在SELECT语句中使用TRIM()函数。
  2. 您可以对IBX源代码进行一些更改,以便对CHAR进行右修剪字符串。

最新更新