- 浏览: 501761 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
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类型,可以保证更好的兼容性。
发表评论
-
【转】数据库事务的四大特性以及事务的隔离级别
2017-10-12 23:09 537本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说 ... -
oracle连接plsql
2015-07-27 16:02 591oracle查看本机服务名 在cmd命令窗口: ... -
【转】oracle查询:取出每个分组中的第一条记录
2015-05-27 17:26 3475排序后取第一条记录 select * from (sel ... -
【转】java 调用存储过程 实例
2015-05-06 14:55 494共4个 一.只有输入参数没有返回结果的存储过程 二. 有 ... -
【转】Oracle导出表(即DMP文件)的两种方法
2015-05-04 20:00 869方法一:利用PL/SQL Developer工具导出: ... -
【转】Oracle创建表空间、创建用户以及授权
2015-05-04 20:00 557Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
【转】ORA-12519错误解决方案
2015-05-04 19:54 994系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有 ... -
【转】查看修改表空间sql语句
2015-05-01 16:26 553--所有表ower, 表名,表空间名 select ... -
【转】Oracle带输入输出参数的存储过程
2015-04-30 22:33 817(一)使用输入参数需求:在emp_copy中添加一条记录,em ... -
【转】oracle存储过程、声明变量、for循环
2015-04-30 22:20 1279oracle存储过程、声明变量、for循环 1、创建存储 ... -
【转】Oracle数据库备份之exp/imp用法
2015-04-30 22:16 568------------------------------ ... -
【转】 oracle单行函数
2015-04-22 10:17 744虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一 ... -
【转】Oracle中group by用法
2015-04-21 18:22 570在select 语句中可以使用group by 子句将行划分 ... -
【转】Oracle中sign函数和decode函数的使用
2015-04-20 15:09 626Oracle中sign函数和decode函数的使用 ... -
[转]Oracle字符串拼接的方法
2015-04-09 14:43 2173本文转自:http://www.blogjava.net/l ... -
【转】oracle 10g怎么导入dmp文件,在windows下
2015-03-06 16:19 13开始-->运行-->输入cmd或是wind ... -
【转】Oracle新建用户、角色,授权,建表空间
2015-03-03 17:03 17oracle数据库的权限系统分为系统权限与对象权限。系统权限 ... -
【转】Oracle数据库-建库、建表空间,建用户
2015-03-02 16:54 21Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
oracle ASCII字符串<==>16进制串
2013-01-19 07:42 1587sql中可以直接插入16进制字串表示的数据到blob表中。如 ... -
【转】Oracle中Decode()函数使用技巧
2012-11-19 14:36 951decode()函数是ORACLE PL/SQL是 ...
相关推荐
### Oracle中的VARCHAR2(BYTE)与VARCHAR2(CHAR)区别详解 #### 一、引言 在Oracle数据库中,`VARCHAR2`是最常用的字符数据类型之一,用于存储变长的字符串。然而,在定义`VARCHAR2`类型时,可以选择指定长度为`BYTE`...
Oracle 中 char 和 varchar2 的区别 Oracle 中 char 和 varchar2 是两种常用的字符串数据类型,它们之间的区别是很多开发者经常忽视的。下面我们将详细分析 Oracle 中 char 和 varchar2 的区别。 首先,char 是定...
- Oracle 推荐使用 `VARCHAR2` 类型,特别是在较新版本中,`VARCHAR` 已经与 `VARCHAR2` 一致。 #### 特殊类型:NCHAR 和 NVARCHAR2 除了上述三种基本的字符类型之外,Oracle 还提供了两种 Unicode 字符类型:`...
总的来说,虽然`VARCHAR`和`VARCHAR2`在名称上有一定的相似性,但在实际应用中,`VARCHAR2`因其更长的最大长度、更好的空格处理机制以及更高的兼容性,在Oracle数据库中得到了更广泛的应用。理解这些细微的区别,...
本文主要探讨的是两种常见字符串类型:`CHAR`和`VARCHAR2`,它们在使用上有何不同,并且会涉及一些相关的Oracle数据库功能。 首先,`CHAR`是定长字符串类型,这意味着当你声明一个`CHAR(10)`字段时,无论你存储的...
在 Oracle 中,数据类型的转换是非常常见的操作,本文将详细介绍 Oracle 中的 varchar 和 date 的转换、number 和 varchar 的转换。 一、varchar 和 date 的转换 在 Oracle 中,varchar 类型用于存储字符串数据,...
在Oracle数据库中,varchar2类型的字段长度可高达4,000个字符,但在特定情况下,如使用BLOB存储,可以扩展到更大的值。当从Oracle迁移到MySQL或GP时,可能需要调整字段长度以适应目标数据库的限制。例如,如果源...
- **空间占用**:`varchar2`在Oracle中可能有更小的最大长度限制,但通常比`varchar`更节省空间。 - **源码和工具差异**:在开发和迁移过程中,不同的数据库系统对这些类型的支持可能不同,需要根据具体环境选择合适...
Oracle SQL 函数进行BLOB转换Varchar2
可以将创建表的语句直接拷贝值sqldbx(连接db2数据库的工具)中修改字段的类型,如varchar2转化为varchar,number转化为integer。还有primary key、unique的变化。 2、表数据迁移 在Plsql中选择表——>右键——>qurey...
但是,Oracle 中的 VARCHAR2(n)类型仅用于存放较小的字符串,因此,在实际应用中,我们需要根据实际情况选择合适的字符串类型。例如,在 DB2/400 中,我们可以使用定长的 CHAR(N)类型与 Oracle 的 VARCHAR2(n)...
在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细介绍如何在.NET环境中处理和传递长度...
在Oracle数据库中,小数点前的零丢失问题是一个常见的数据处理问题,特别是在涉及字符类型(如CHAR或VARCHAR2)与数值类型(如NUMBER)之间的转换时。这个问题主要出现在当数值小于1,并且以字符形式存储时,小数点...
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_...
是处理wm_concat中以varchar处理合并列字段过小。 clob 可以加大处理。 oracle 9I oracle 10G 必备
在本例中,我们创建了一个名为 `varchar_array` 的类型,它是一个 Table,其中的元素类型为 `varchar2(128)`。这可以通过以下 SQL 语句完成: ```sql CREATE OR REPLACE TYPE varchar_array is TABLE OF varchar2...
Oracle中的VARCHAR2类型可以对应DB2/400中的CHAR类型和VARCHAR类型。当n时,可以使用DB2/400中的CHAR类型或VARCHAR类型。当n>4000时,可以使用DB2/400中的VARCHARLONG类型或CLOB类型。 三、NUMBER类型 Oracle中的...
讲述主流大型数据库oracle和DB2的数据类型