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个字节
相关推荐
Rust研习社3 分钟前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
河阿里8 分钟前
MyBatis-Plus:MyBatis的进阶开发
数据库·mybatis
sjsjsbbsbsn20 分钟前
向量数据库
数据库
逸Y 仙X21 分钟前
文章十六:ElasticSearch 使用enrich策略实现大宽表
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
Sherry Wangs27 分钟前
MySQL 与向量数据库的核心区别:从结构化数据到语义搜索
数据库·mysql
@小柯555m31 分钟前
MySql(高级操作符--高级操作符练习(2))
数据库·sql·mysql
凯尔萨厮40 分钟前
Springboot2.x+JSP项目创建
java·数据库
Mr_linjw1 小时前
MySQL 中监控和优化慢 SQL & 索引小知识
数据库·sql·mysql
mftang1 小时前
BSS段、Data段、Text段的具体含义和数据特性
数据库·算法
码农阿豪1 小时前
Python 操作金仓数据库的完全指南(上篇):连接管理与高可用
开发语言·数据库·python