【问题标题】:How can we prevent that DB2 fills blank chracters in Char Type?我们如何防止 DB2 填充 Char Type 中的空白字符?
【发布时间】:2012-07-18 11:04:59
【问题描述】:

目前,我有一个 DB2 数据库和一些 char 类型的列。 如果我在这些列中插入一些字符少于指定字符的数据,则 DB2 用空白字符填充其余部分。

例如: 列:char(8)
类型中的 orderkey 如果我插入"AB12",它会像"AB12XXXX"一样保存(X表示空白字符)

是否可以防止 DB2 按 char 类型填充空白字符?

DB2 9.5 版

【问题讨论】:

    标签: database db2 char


    【解决方案1】:

    在 SQL 中,CHAR 数据类型是固定长度的字符串。根据定义,附加字符用空格填充。

    您想要的是 VARCHAR 数据类型。因此,只需更改 VARCHAR(8) 的数据类型,它就会存储您的字符串,而不会附加空格。

    顺便说一句,这在所有数据库中都是如此,不仅是 DB2。

    【讨论】:

    • 你是对的。但是在 Mysql 中检索 CHAR 值时,会删除尾随空格。在 DB2 中,情况并非如此。在我的情况下,大多数数据有 8 个字符。具有少于 8 个字符的值是一个例外。
    • 在这种情况下,您需要修剪空格。或者,如果中间没有空格,则将它们替换为空字符串。
    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 2019-05-27
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 2017-02-23
    • 1970-01-01
    相关资源
    最近更新 更多