DB2 VARCHAR unicode数据存储

Tro*_*ydm 5 db2 unicode varchar sqldatatypes

我们当前正在使用VARCHAR在DB2中存储文本数据,但是我们遇到的问题是指定的VARCHAR长度与文本长度不同,因为在DB2 VARCHAR中指定的长度是UTF-8数据长度,它可以根据存储的文本数据而变化.例如,某些文本包含来自不同语言的字符,因此一些具有500个字符的文本无法保存在VARCHAR(500)等中.

现在我们计划迁移到VARGRAPHIC.我需要知道使用VARGRAPHIC在DB2中存储unicode文本数据有什么限制.使用VARGRAPHIC有什么问题吗?

use*_*176 2

DB2 不会检查数据实际上是否是双字节字符串,但它假设它必须是。通常驱动程序会为您进行适当的转换,但有一天您可能会遇到一些错误。但这不太可能。

如果您使用联合数据库,查询中的 Vargraphic 支持可能会完全失败。总的来说,可变图形数据类型的错误报告数量有点高。对它的支持可能没有像其他数据类型那样经过充分的测试和尝试。

Vargraphic 将与 unicode 数据库(即需要 UTF-8)一起使用大端 UCS-2,这意味着这些列的空间需求加倍。Vargraphic 是 DB2 专有数据类型。如果有一天您从 DB2 迁移出去,您将需要进行额外的转换。