oracle varchar2与nvarchar2的区别
来源:互联网 发布:js 设置select 选中值 编辑:程序博客网 时间:2024/05/16 16:15
The length semantics of character data types can be measured in bytes or characters. Byte semantics treat strings as a sequence of bytes. This is
the default for character data types. Character semantics treat strings as a sequence of characters. A character is technically a code point of the
database character set.
Oracle字符数据类型的长度语义有两种,即字节语义和字符语义。varchar2按照字节长度语义来限定字符串长度,而nvarchar2按照字符长度语义限定字符串长度。
查看数据库的字符集:
HR >select PARAMETER,value from v$nls_parameters where parameter like '%CHARACTERSET%';
PARAMETER |VALUE
------------------------------|------------------------------
NLS_CHARACTERSET |ZHS16GBK
NLS_NCHAR_CHARACTERSET |AL16UTF16
测试varchar2(一个汉字占用两个字节):
HR >create table test(id varchar2(5));
HR >insert into test values('你好');
1 row created.
HR >insert into test values('你好a');
1 row created.
HR >insert into test values('你好啊');
insert into test values('你好啊')
ERROR at line 1:
ORA-12899: 列 "HR"."TEST"."ID" 的值太大 (实际值: 6, 最大值: 5)
Elapsed: 00:00:00.01
Nvarchar2字符类型存储的是unicode字符集数据,本例是AL16UTF16,它可以存放几乎所有国家的字符。当创建国家字符类型属性时候,最大长度始终
是字符长度语义(When you create a table with an NCHAR or NVARCHAR2 column, the maximum size is always in character length semantics)
测试nvarchar(2):
HR >drop table test;
Table dropped.
HR >create table test(id nvarchar2(5));
HR >insert into test values('你好啊是吗');
1 row created.
HR >insert into test values('你好啊是吗不是');
insert into test values('你好啊是吗不是') *
ERROR at line 1:
ORA-12899: 列 "HR"."TEST"."ID" 的值太大 (实际值: 7, 最大值: 5)
HR >insert into test values('aaaaaa');
insert into test values('aaaaaa')
*
ERROR at line 1:
ORA-12899: 列 "HR"."TEST"."ID" 的值太大 (实际值: 6, 最大值: 5)
- Oracle中NVARCHAR2与VARCHAR2的区别
- oracle varchar2与nvarchar2的区别
- Oracle中NVARCHAR2与VARCHAR2的区别
- Oracle中NVARCHAR2与VARCHAR2的区别
- Oracle中NVARCHAR2与VARCHAR2的区别
- oracle中NVARCHAR2与VARCHAR2的区别
- ORACLE中的varchar2()与nvarchar2()的区别
- varchar2与nvarchar2的区别
- varchar2与nvarchar2的区别
- ORACLE CHAR,VARCHAR,VARCHAR2,NVARCHAR2的区别与使用
- Oracle字段类型char、varchar2、nvarchar2的区别与使用
- oracle数据类型varchar2、varchar、nvarchar2的区别
- oracle中Varchar2和nvarchar2的区别
- ORACLE中的varchar2()与nvarchar2()的讲解
- ORACLE中的varchar2()与nvarchar2()的讲解
- ORACLE中的varchar2()与nvarchar2()的讲解
- Oracle中varchar,varchar2,nvarchar,nvarchar2区别与联系
- NVARCHAR2和VARCHAR2的区别
- oracle number(p,s)
- ajax 动态级联
- 二维数组作为函数参数
- Oracle 直方图
- DEDE5.3.1织梦 处理 关键字不能小于2个字节
- oracle varchar2与nvarchar2的区别
- 黑马程序员-javascript基础知识学习笔记
- Arcgis Engine for java 10 开发环境配置 (eclipse)
- feathers button 支持中文(非bitmap字体)
- 求最大公约数的O(logN) 算法
- 停止更新了很久
- Ubuntu下android adb 连接
- kmalloc vmalloc kzalloc malloc 和 get_free_page()
- lucene--一个field多个条件查询