【发布时间】:2012-07-18 11:04:59
【问题描述】:
目前,我有一个 DB2 数据库和一些 char 类型的列。 如果我在这些列中插入一些字符少于指定字符的数据,则 DB2 用空白字符填充其余部分。
例如:
列:char(8)
类型中的 orderkey
如果我插入"AB12",它会像"AB12XXXX"一样保存(X表示空白字符)
是否可以防止 DB2 按 char 类型填充空白字符?
DB2 9.5 版
【问题讨论】:
目前,我有一个 DB2 数据库和一些 char 类型的列。 如果我在这些列中插入一些字符少于指定字符的数据,则 DB2 用空白字符填充其余部分。
例如:
列:char(8)
类型中的 orderkey
如果我插入"AB12",它会像"AB12XXXX"一样保存(X表示空白字符)
是否可以防止 DB2 按 char 类型填充空白字符?
DB2 9.5 版
【问题讨论】:
在 SQL 中,CHAR 数据类型是固定长度的字符串。根据定义,附加字符用空格填充。
您想要的是 VARCHAR 数据类型。因此,只需更改 VARCHAR(8) 的数据类型,它就会存储您的字符串,而不会附加空格。
顺便说一句,这在所有数据库中都是如此,不仅是 DB2。
【讨论】: