`
wangyanlong0107
  • 浏览: 501761 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

oracle中的varchar2

 
阅读更多


  今天做项目时候保存中文的时候出现错误:


javax.servlet.ServletException: (HibernateTemplate): encountered SQLException [ORA-12899: "XX_XX_TEST"."TB_CNB_INDIACCOUNT"."C_ACCOUNT" 的值太大 (实际值: 50, 最大值: 36)

]; nested exception is java.sql.BatchUpdateException: ORA-12899: "XX_XX_TEST"."TB_CNB_INDIACCOUNT"."C_ACCOUNT" 的值太大 (实际值: 50, 最大值: 36)

 

  查了一下数据库中的表对应字段为 varchar2(36),最大长度为36个字符,换成unicode的java汉字就是2个字节对应一个汉字,最多能存18个汉字,因此报错,需要修改varchar2的长度。

1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,大部分情况下建议使用varchar2类型,可以保证更好的兼容性。

 

 

分享到:
评论
1 楼 hekai1990 2012-05-02  
受教了..

相关推荐

    oracle中varchar2(byte)和varchar2(char).doc

    ### Oracle中的VARCHAR2(BYTE)与VARCHAR2(CHAR)区别详解 #### 一、引言 在Oracle数据库中,`VARCHAR2`是最常用的字符数据类型之一,用于存储变长的字符串。然而,在定义`VARCHAR2`类型时,可以选择指定长度为`BYTE`...

    浅析Oracle中char和varchar2的区别 电脑资料.docx

    Oracle 中 char 和 varchar2 的区别 Oracle 中 char 和 varchar2 是两种常用的字符串数据类型,它们之间的区别是很多开发者经常忽视的。下面我们将详细分析 Oracle 中 char 和 varchar2 的区别。 首先,char 是定...

    oracle char,varchar,varchar2的区别和使用方法

    - Oracle 推荐使用 `VARCHAR2` 类型,特别是在较新版本中,`VARCHAR` 已经与 `VARCHAR2` 一致。 #### 特殊类型:NCHAR 和 NVARCHAR2 除了上述三种基本的字符类型之外,Oracle 还提供了两种 Unicode 字符类型:`...

    varchar 和varchar2之间的联系和区别

    总的来说,虽然`VARCHAR`和`VARCHAR2`在名称上有一定的相似性,但在实际应用中,`VARCHAR2`因其更长的最大长度、更好的空格处理机制以及更高的兼容性,在Oracle数据库中得到了更广泛的应用。理解这些细微的区别,...

    浅析Oracle中char和varchar2的区别

    本文主要探讨的是两种常见字符串类型:`CHAR`和`VARCHAR2`,它们在使用上有何不同,并且会涉及一些相关的Oracle数据库功能。 首先,`CHAR`是定长字符串类型,这意味着当你声明一个`CHAR(10)`字段时,无论你存储的...

    oracle中varchar与date的转换,number与varchar的转换.pdf

    在 Oracle 中,数据类型的转换是非常常见的操作,本文将详细介绍 Oracle 中的 varchar 和 date 的转换、number 和 varchar 的转换。 一、varchar 和 date 的转换 在 Oracle 中,varchar 类型用于存储字符串数据,...

    GP数据库表结构转mysql库、oracle库 varchar类型字段长度批量处理excel_MYSQL_oracle_数据库

    在Oracle数据库中,varchar2类型的字段长度可高达4,000个字符,但在特定情况下,如使用BLOB存储,可以扩展到更大的值。当从Oracle迁移到MySQL或GP时,可能需要调整字段长度以适应目标数据库的限制。例如,如果源...

    char,varchar以及varchar2的区别

    - **空间占用**:`varchar2`在Oracle中可能有更小的最大长度限制,但通常比`varchar`更节省空间。 - **源码和工具差异**:在开发和迁移过程中,不同的数据库系统对这些类型的支持可能不同,需要根据具体环境选择合适...

    函数进行BLOB转换Varchar2.txt

    Oracle SQL 函数进行BLOB转换Varchar2

    oracle数据迁移到db2数据库的实现方法(分享)

    可以将创建表的语句直接拷贝值sqldbx(连接db2数据库的工具)中修改字段的类型,如varchar2转化为varchar,number转化为integer。还有primary key、unique的变化。 2、表数据迁移 在Plsql中选择表——>右键——>qurey...

    Oracle与DB2数据类型分类对应说明

    但是,Oracle 中的 VARCHAR2(n)类型仅用于存放较小的字符串,因此,在实际应用中,我们需要根据实际情况选择合适的字符串类型。例如,在 DB2/400 中,我们可以使用定长的 CHAR(N)类型与 Oracle 的 VARCHAR2(n)...

    Oracle接收长度大于4000的字符串

    在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细介绍如何在.NET环境中处理和传递长度...

    基于oracle小数点前零丢失的问题分析

    在Oracle数据库中,小数点前的零丢失问题是一个常见的数据处理问题,特别是在涉及字符类型(如CHAR或VARCHAR2)与数值类型(如NUMBER)之间的转换时。这个问题主要出现在当数值小于1,并且以字符形式存储时,小数点...

    Oracle中实现Split函数功能

    CREATE OR REPLACE FUNCTION f_split(p_list varchar2, p_seperator varchar2) RETURN type_split PIPELINED IS l_idx PLS_INTEGER; v_list varchar2(32767) := p_list; BEGIN LOOP l_idx := instr(v_...

    oracle替换wm_concat varchar处理为clob处理的方法

    是处理wm_concat中以varchar处理合并列字段过小。 clob 可以加大处理。 oracle 9I oracle 10G 必备

    Oracle中把ArrayOracle中把

    在本例中,我们创建了一个名为 `varchar_array` 的类型,它是一个 Table,其中的元素类型为 `varchar2(128)`。这可以通过以下 SQL 语句完成: ```sql CREATE OR REPLACE TYPE varchar_array is TABLE OF varchar2...

    Oracle与DB2数据类型的对应说明书

    Oracle中的VARCHAR2类型可以对应DB2/400中的CHAR类型和VARCHAR类型。当n时,可以使用DB2/400中的CHAR类型或VARCHAR类型。当n>4000时,可以使用DB2/400中的VARCHARLONG类型或CLOB类型。 三、NUMBER类型 Oracle中的...

    DB2与Oracle数据类型对比

    讲述主流大型数据库oracle和DB2的数据类型

Global site tag (gtag.js) - Google Analytics