DB2云仓库中特殊字符的长度

erhoui1w  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(158)

我有一个python脚本,用于将数据加载到DB2 WOC中的一个表中。有一个类型为CHAR(50)的列,我想将以下数据字符串加载到该表中:

string = "RECOMBINANT ANTI-ERBB 2 ANTIBODY ÝEPR19547-12¨  AL"

如您所见,有2个特殊字符:ݨ
我在python中检查了字符串变量的长度,它是50。
然而,当我想将此字符串加载到WOC中的表时,它抛出了一个错误,即它太长了:

SELECT length('RECOMBINANT ANTI-ERBB 2 ANTIBODY ÝEPR19547-12¨  AL'),
       length('Ý'),
       length('¨')
FROM test.STG_TEST_20220531142326

这给出了以下结果:

52 | 2 | 2

这意味着这些字符在DB2WOC中占据了两个位置。有人能解释一下为什么吗?有没有可能避免这种情况?

flvlnr44

flvlnr441#

您必须将列声明为(VAR)CHAR(52)(VAR)CHAR(50 CODEUNITS32),才能将字符串存储在UTF-8数据库中。

相关问题