问题描述:
varchar2(4000) abc;
intert into table_name(abc) values('这里有1500个汉字……');
报错:插入字符过长!经过测试,发现一个汉字占3个字节,所以报错!!!
问题所在:
使用的字符集是UTF8,就有可能出现这个错误!
使用命令查看:
SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
PARAMETER
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8
解决方法:
建议使用ZHS16GBK字符集!
操作:
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
问题解决!
分享到:
相关推荐
### Oracle接收长度大于4000的字符串 在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细...
### Oracle中文字符集问题解析与解决方案 在Oracle数据库的日常管理和应用开发中,中文字符集的设置和管理是一项至关重要的工作。不当的字符集配置可能导致数据存储错误、查询结果异常或用户界面显示乱码等问题。...
Oracle汉字转拼音的功能主要涉及到Oracle的内置函数和过程,这些功能可以帮助我们实现这一目标。下面将详细介绍如何在Oracle中进行汉字转拼音,并提供相关的SQL语句示例。 一、Oracle中的汉字转拼音原理 Oracle...
Oracle SQL支持多种数据类型,如CHAR、VARCHAR2(可变长度字符串)、NUMBER(数字)、DATE(日期时间)、CLOB(大对象,用于存储文本)、BLOB(大对象,用于存储二进制数据)等。选择正确的数据类型对于数据的存储和...
在这个"Oracle函数大全中文"资源中,包含了对Oracle数据库中各种函数的详细解释,这些函数涵盖了数值型、字符型、日期型、转换、聚组以及分析等多个方面。下面我们将逐一深入探讨这些重要的知识点。 1. 数值型函数...
"ORACLE数据库汉字占几个字节问题" 在 ORACLE 数据库中,汉字占用的字节数是一个常见的问题。根据数据库的字符集编码,一个汉字可以占用不同的字节数。在 AL32UTF8 或 UTF8 编码下,一个汉字通常占用 3 到 4 个字节...
针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...
通过深入研究和实践,你可以提升在Oracle数据库管理、查询优化和问题解决方面的能力。记得在学习过程中,不仅要理解函数的功能,还要掌握如何在实际工作中有效地运用它们,从而提高工作效率和数据处理能力。
1. 数据类型:Oracle支持多种数据类型,如CHAR、VARCHAR2(可变长度字符串)、NUMBER(数字)、DATE(日期)等。了解这些数据类型有助于正确创建和管理表。 2. 创建表:使用CREATE TABLE语句来创建表,例如: ```...
Oracle 8i会根据实际数据长度调整字段长度,并自动去除前后空格。可索引的最大长度为3209字节。 3. **Number(m,n)**: 这种数据类型用于存储数值,m表示总位数,n表示小数点后的位数。例如,`number(5,2)`表示最多5...
这个过程在财务系统中非常常见,尤其是在中国等使用汉字的国家和地区,因为正式的财务文档通常需要将数值金额转换为中文大写形式以避免篡改。 ### Oracle财务数字转换中文 在Oracle数据库中,实现数字到中文大写...
在Oracle数据库中,处理字符串是常见的操作,而`length()`和`lengthb()`函数则是用于获取字符串长度的两个重要函数。这两个函数可以帮助我们了解字符串在存储时占用的空间,从而进行有效的数据管理和分析。 1. `...
在Oracle数据库中,经常需要对存储的数据进行处理,比如根据特定字符进行截取。这篇博客“一个oracle根据特定字符截取数据”...在实际工作中,可以根据具体场景灵活组合使用这些函数,以解决各种复杂的字符串操作问题。
Oracle 数据库支持多种数据类型,这些数据类型用于存储不同类型的数据,包括字符串、数字、日期、二进制数据和特殊对象。下面将详细解释这些数据类型及其特性: 1. CHAR: 固定长度的字符串,最大长度为2000字节。...
Oracle EBS术语解释中文版将帮助理解其核心功能和特性。 首先,Oracle财务系统是EBS中的一个关键组成部分,它支持企业进行有效的财务管理和会计处理。例如,账户分层结构(Account Hierarchy)是Oracle财务系统中的...
lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 ...【备注】一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三 PS:oracle去掉字符串中所有指定字符 Selec