ORACLE VARCHAR2(n CHAR)格式
来源:互联网 发布:sql 微整型 编辑:程序博客网 时间:2024/05/29 12:23
以前就遇到过这个问题,当时查了就忘了,今天详细记录一下。
数据从SOURCE表导到TARGET表因为超长进不去。SOURCE这边格式是VARCHAR2(255 CHAR), TARGET那边格式是VARCHAR2(256),这两个格式的区别在于:
http://www.oracle-base.com/articles/9i/CharacterSemanticsAndGlobalization9i.php
数据库存储字符数字的字段使用BYTE存储,对单字节字符集这种方法很适用,有几个字符就有几个BYTE。但如果要插入多字节字符集的国际字符,BYTE和字符数不相等,BYTE数就会超长,导致数据进不去。于是ORACLE 9i设置了三种格式来解决问题:
1. VARCHAR2(n)
2. VARCHAR2(n BYTE)
3. VARCHAR2(n CHAR)
选项1 使用NLS_LENGTH_SEMANTICS参数中设定的默认长度,默认值为BYTE
选项2 只允许最大n BYTE长度的字符存储,和字符数无关
选项3 允许最大n 个字符的存储,与BYTE无关
无论何种格式,INSTR, LENGTH, SUBSTR函数仍以字符数来计算。用BYTE计算的话,请使用INSTRB, LENGTHB, SUBSTRB函数
- ORACLE VARCHAR2(n CHAR)格式
- ORACLE VARCHAR2(n CHAR)格式
- ORACLE VARCHAR2(n CHAR)格式
- VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]
- 浅谈Oracle 中 varchar2(N) 与 varchar2(N char) 的区别
- 浅谈Oracle 中 varchar2(N) 与 varchar2(N char) 的区别
- 浅谈Oracle 中 varchar2(N) 与 varchar2(N char) 的区别
- Oracle 编码格式 及其 char Varchar Varchar2的区别
- 自定义数据类型varchar2(%n char)
- oracle中n/varchar、n/varchar2、n/char几种类型的区别与使用
- oracle学习(二)——字符型char(n) varchar(n) varchar2(n)
- Oracle varchar2(Byte)与varchar2(Char)
- varchar2(n)与varchar2(n char)的区别
- Oracle之Char VarChar VarChar2
- oracle char varchar varchar2 使用
- Oracle - char, nchar,varchar,varchar2(byte), varchar2(char) 和 nvarchar2
- char,varchar2在ORACLE中的使用
- Oracle的数据类型(一):char/varchar2
- 手工释放linux内存——/proc/sys/vm/drop_caches
- 覆盖测试技术
- Linux用户管理学习笔记
- 白盒测试和黑盒测试技术
- 手工测试和自动化测试
- ORACLE VARCHAR2(n CHAR)格式
- WinForm仿QQ系统消息框的API实现
- cin.get(),cout.put(),cin.eof()的应用案例
- 数据库水平分割 垂直分割 库表散列简述
- EXISTS 用法
- 测试存在风险及解决方法
- 差分约束系统专题
- 读《某石化公司SAP项目存储管理和备份方案》有感
- 软件缺陷的原则