我正在使用derby数据库构建桌面应用程序...将数据插入到包含几列数据类型为“CHAR(10)”的表中时,数据库会将空格添加到该值。对于前。我要添加一个名称“Derby”,该名称由5个字母组成,其余5个字母添加为空白。当我从数据库中检索这些值时,问题就开始了,那些白色空间也会与实际值一起被检索。使用“VARCHAR”数据类型不会发生这种情况。如何避免这种情况?

最佳答案

这就是在SQL标准中定义CHAR数据类型的方式。 Derby遵循这些规则as documented in the manual(基本上每个DBMS都遵守这些规则,但是在某些情况下,您可以禁用此规则)

您无法采取任何措施来“避免”这种情况-如果您不希望使用这种填充,只需使用VARCHAR

我个人认为:如今CHAR数据类型实际上是无用的。在几乎每个DBMS中,VARCHAR都效率更高(因为它需要较少的存储空间),并且不会遭受这种必需但烦人的填充行为的困扰。

关于database - Derby DB在CHAR值中添加空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28813087/

10-13 08:53