Oracle在存储单个字符时使用多少字节?答案是2个字节。

8
我试图在这里查看:http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i3253,我理解需要为列提供字符串长度,但我无法确定Oracle在存储字符时使用多少字节。我的限制是500个字符,因此如果每个字符占用1个字节,则可以创建具有500个字符的列,如果每个字符占用2个字节,则可以创建具有1000个字符的列等。是否有人有文档链接或确切知道?如果有关系,SQL是从PHP调用的,因此这些都是我插入数据库的PHP字符串。谢谢。
3个回答

16

存储一个字符所需的字节数取决于字符集。如果您要存储500个字符,并且不知道目标数据库的字符集,您应该将该列(或变量)创建为VARCHAR2(500CHAR)或CHAR(500CHAR)。


4
这是应该被标记为“接受”的答案。此外,如果您想查看存储特定字符串所需的字节数,请使用dump函数。 SELECT dump('我的有点长的字符串') FROM DUAL; - Scott Bailey
1
@Scott:你也可以使用 lengthb 函数。 - Vincent Malgrat

4

-2

我明白了 - 我假设最小值是1,因为它是单个字符的大小。好的,谢谢。 - mr-sk
8
其他答案已经指出,一个CHAR字符可能由多个字节组成。 - Gary Myers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接