在oracle中一个中文汉字占用几个字节,是oracle中的字符集编码决定的。
通过查看oracle server端字符集
select userenv('language') from dual;
查询的结果如果是显示的【SIMPLIFIED CHINESE_CHINA.ZHS16GBK】,则表示当前的字符集编码是GBK,这时候一个中文汉字是占用两个字节;如果是显示的【SIMPLIFIED CHINESE_CHINA.AL32UTF8】,则表示当前的字符集编码是UTF8,这时候一个中文汉字是占用三个字节(有一些说法是三到四个字节)。
通过查询单个汉字占用的字节长度
如果不想要查询oracle server端的字符集,也可以直接查询单个汉字占用的字节长度达到目的。
在oracle中,length函数求得的是占用字符数,lengthb或者vsize函数求得的是占用字节数。
select lengthb('日') from dual;
"养成良好的习惯不可能一蹴而就,适当的原谅自己,会更好的帮你走向优秀。"