我使用的是一个SAP系统,上面连接了一个IBMDB2数据库。我在SAP系统中创建了一个透明表,然后检查了它在数据库级别上的外观。结果是字符字段(CHAR,DATS,CUKY,NUMC)比SE11中指定的长度大三倍。例如,MANDT类型的CLIENT字段具有VARCHAR(9)类型。我可以理解长度乘以2,因为SAP是一个Unicode系统。但是乘以3呢?有人能给我解释一下吗?
CHAR
DATS
CUKY
NUMC
SE11
MANDT
CLIENT
VARCHAR(9)
ztmd8pv51#
这种效果不依赖于所使用的DBMS(我在基于Oracle的系统上看到了相同的效果)。这实际上是一个unicode/NUC问题:在NUC系统上,客户端字段是VARCHAR2(3),在其他相同软件组件的unicode系统上,它是VARCHAR2(9)。我只能猜测这是由于使用了一些CESU-8变体。
VARCHAR2(3)
VARCHAR2(9)
1条答案
按热度按时间ztmd8pv51#
这种效果不依赖于所使用的DBMS(我在基于Oracle的系统上看到了相同的效果)。这实际上是一个unicode/NUC问题:在NUC系统上,客户端字段是
VARCHAR2(3)
,在其他相同软件组件的unicode系统上,它是VARCHAR2(9)
。我只能猜测这是由于使用了一些CESU-8变体。