存储单个字符时Oracle使用了多少字节?

时间:2010-05-17 16:22:44

标签: php oracle oracle10g character

我试着看看这里:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i3253

我知道我必须为列提供字符串长度,我只是无法找出oracle在存储字符时使用的字节数。我的限制是500个字符,所以如果它的1个字节/字符,我可以用500创建列,如果它的2个字节/字符然后是1000,等等。

任何人都有文档链接或确定知道吗?

如果重要,则从PHP调用SQL,因此这些是我插入数据库的PHP字符串。 感谢。

3 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:4)

普通CHAR不一定是一个字节,具体取决于NLS_LENGTH_SEMANTICS的设置。

请参阅Oracle的SQL Language Reference作为起点。如果您需要深入挖掘,请查看Oracle的Globalization Support Guide

答案 2 :(得分:-1)

单个CHAR将占用1个字节。

试试这里:

http://ss64.com/ora/syntax-datatypes.html