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个字节
相关推荐
oradh33 分钟前
Oracle 11g rac IP地址修改(public ip、vip、scan ip、priviate ip)
数据库·tcp/ip·oracle·rac ip地址修改
YOU OU44 分钟前
Redis哨兵 & 集群
数据库·redis·sentinel
小罗水1 小时前
第8章 文档解析与文本切片
数据库·spring·spring cloud·微服务
瞬间&永恒~1 小时前
【MySQL】 主从复制多拓扑搭建实验
运维·数据库·mysql·云原生
han_hanker2 小时前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
井川廊咏2 小时前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
z落落3 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
影寂ldy3 小时前
WinForm 数据库【新增+编辑】完整功能(参数化查询+配置文件+防报错全套)
数据库
数据库小学妹3 小时前
MySQL联合索引失效怎么解决?从key_len逆向分析
数据库·mysql·性能优化·索引失效·联合索引·最左前缀·keylen
迷枫7123 小时前
达梦数据库 Hint 使用与 Hint 注入实战
数据库