修剪字段

时间:2011-12-01 15:12:33

标签: delphi firebird

我们目前正在使用Delphi和Borland数据库。我们计划从Borland迁移到Firebird图书馆,(borland lib有mem泄漏)。

我们现在遇到的问题是,Firebird库返回一个带有尾随空格的字符,它以某种方式处理了borland库。我们编写了大量代码而没有任何修整。

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

2 个答案:

答案 0 :(得分:8)

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

更新:不确定它是否有用,但根据此message,如果您使用的是IBX,则可以创建一种解决方法。

答案 1 :(得分:4)

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