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个字节
相关推荐
好奇的菜鸟3 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader4 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客5 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法5 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局8 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术8 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
m0_6239556611 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
阿蒙Amon11 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#