oracle中汉字占几个字节

大家是否经常遇到数据表某字段长度不够了。一般我们在存字符串时用VARCAHR2类型,而VARCHAR2有两种用法,一种是VARCHAR2(10 btye),另一种是VARCHAR2(10 char)。前者是默认值,表示10个字节,后者表示10个字符。

一个汉字占几个字节和oracle库的字符集有关系。如果字符集是ZHS16GBK,一个汉字就占2个字节;如果字符集是AL32UTF8,一个汉字就是占3个字节

如果查看oracle的字符集:

java 复制代码
SELECT * FROM v$nls_parameters WHERE PARAMETER='NLS_CHARACTERSET';

如果不想查看当前数据库的字符集,想知道当前oracle库一个汉字占几个字节,可以利用lengthb()函数,这是查看当前数据库一个汉字占几个字节

length()函数是查看当前字符串占几个字符,也就是字符串长度。

java 复制代码
select  lengthb('中国')  from dual; // 6个字节
相关推荐
吃糖的小孩1 小时前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行35019 小时前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行35019 小时前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行35019 小时前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB2 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶2 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵2 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils2 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend3 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent