- 浏览: 482534 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (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 503本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说 ... -
oracle连接plsql
2015-07-27 16:02 566oracle查看本机服务名 在cmd命令窗口: ... -
【转】oracle查询:取出每个分组中的第一条记录
2015-05-27 17:26 3219排序后取第一条记录 select * from (sel ... -
【转】java 调用存储过程 实例
2015-05-06 14:55 458共4个 一.只有输入参数没有返回结果的存储过程 二. 有 ... -
【转】Oracle导出表(即DMP文件)的两种方法
2015-05-04 20:00 822方法一:利用PL/SQL Developer工具导出: ... -
【转】Oracle创建表空间、创建用户以及授权
2015-05-04 20:00 515Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
【转】ORA-12519错误解决方案
2015-05-04 19:54 940系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有 ... -
【转】查看修改表空间sql语句
2015-05-01 16:26 517--所有表ower, 表名,表空间名 select ... -
【转】Oracle带输入输出参数的存储过程
2015-04-30 22:33 778(一)使用输入参数需求:在emp_copy中添加一条记录,em ... -
【转】oracle存储过程、声明变量、for循环
2015-04-30 22:20 1218oracle存储过程、声明变量、for循环 1、创建存储 ... -
【转】Oracle数据库备份之exp/imp用法
2015-04-30 22:16 534------------------------------ ... -
【转】 oracle单行函数
2015-04-22 10:17 710虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一 ... -
【转】Oracle中group by用法
2015-04-21 18:22 529在select 语句中可以使用group by 子句将行划分 ... -
【转】Oracle中sign函数和decode函数的使用
2015-04-20 15:09 586Oracle中sign函数和decode函数的使用 ... -
[转]Oracle字符串拼接的方法
2015-04-09 14:43 2123本文转自: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 1537sql中可以直接插入16进制字串表示的数据到blob表中。如 ... -
【转】Oracle中Decode()函数使用技巧
2012-11-19 14:36 898decode()函数是ORACLE PL/SQL是 ...
相关推荐
oracle中varchar2(byte)和varchar2(char) 细节决定成败,大家在设计数据库建表的时候一定要注意。
varchar2,Oracle还要进行语法分析,这个字段是多少位的,所以慢一些。相对于上千万的记录来说。一般的项目 没什么区别,随便用。 您可能感兴趣的文章:oracle to_char函数将number转成stringOracle to_char函数的...
oracle char,varchar,varchar2的区别和使用方法 非本人总结,但是说的挺好的! 欢迎下载
浅析Oracle中char和varchar2的区别 电脑资料.docx
oracle中varchar与date的转换,number与varchar的转换.pdf
可以将创建表的语句直接拷贝值sqldbx(连接db2数据库的工具)中修改字段的类型,如varchar2转化为varchar,number转化为integer。还有primary key、unique的变化。 2、表数据迁移 在Plsql中选择表——>右键——>qurey...
Oracle SQL 函数进行BLOB转换Varchar2
是处理wm_concat中以varchar处理合并列字段过小。 clob 可以加大处理。 oracle 9I oracle 10G 必备
oracle数据库表结构转gp数据库表结构、转mysql、数据库时表字段长度问题
讲述主流大型数据库oracle和DB2的数据类型
create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end; 然后,开始在Python命令行中进行存储过程调用。 import cx_Oracle as cx ...
AccountInfo VarChar2(1000), TransferMethod Char(1), --A: ASCII, E: EBCDIC, I: IMAGE TransferOption Char(1), LocalDirectory VarChar2(30), LastReply VarChar2(32767 ) ); ...
Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。 一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。 NCHAR() 和 NVARCHAR2() NCHAR() 和 ...
Oracle接收长度大于4000的字符串 Oracle接收长度大于4000的字符串
as_SubDir in VarChar2, as_FileName in VarChar2 )Return Blob; --获取压缩流的文件清单 Function f_GetFileList( as_ZippedBlob in Blob, as_Encoding in VarChar2 Default Null )...
下面接着看下oracle中varchar类型的日期格式转换date类型 oracle中varchar类型的日期格式转换date类型 SELECT to_char(to_date(m.ma_datetime,'yyyy-MM-dd hh24:mi:ss'), 'yyyyMMdd') FROM my_task m; m.ma_datet
用过Oracle的人都知道,Oracle有一种...如果你的程序中某个字符的值要大于20002个汉字,用 VARCHAR2就不能满足要求了。这时候,你有两个选择,一是用多个VARCHAR2来表示,二是用LOB字段。这里我们来看看第二个办法。
"CALLNUMBER" VARCHAR2(15 BYTE) VISIBLE, "CODE" VARCHAR2(5 BYTE) VISIBLE, "CITY" VARCHAR2(50 BYTE) VISIBLE, "CARDTYPE" VARCHAR2(50 BYTE) VISIBLE, "PROV" VARCHAR2(50 BYTE) VISIBLE ); 导入前清空表...