VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]
转载:
http://blog.itpub.net/24930246/viewspace-1064982
在数据库开发的时候,经常需要考虑存储空间的问题,当然很多时候我们并不需要去考虑一些细小的差别,但是当存储资源较为紧张的时候,我们还是有必要了解的。这里采用一个例子来区分VARCHAR2(N CHAR)与VARCHAR2(N)的区别。
SQL> create
table tangyun (c1 varchar2(1), c2 varchar2(1 char));
SQL> insert into tangyun values ('t',
'y');
SQL> 1 rows
inserted
SQL> insert into tangyun
values ('汤', '云');
SQL 错误: ORA-12899: 列
"OSIBANK"."TANGYUN"."C1" 的值太大 (实际值: 2, 最大值: 1)
SQL> insert into tangyun values ('t',
'云');
SQL> 1 rows
inserted
SQL> insert into tangyun
values ('t', 'ty');
SQL 错误: ORA-12899: 列
"OSIBANK"."TANGYUN"."C2" 的值太大 (实际值: 2, 最大值: 1)。
对比两次插入的报错信息可以很明显的区分:
1、VARCHAR2(64 CHAR) 能存64个汉字,当然也能存64个字符,但是不能存
128个字符。
2、VARCHAR2(64)则可以存64个字符,但是不能存放64个汉字。
--------------End----------------------------------------------
相关文章
- 【Oracle】并行等待之PX Deq: Signal ACK
- 【Python Oracle】使用cx_Oracle 进行数据库操作介绍
- oracle基础
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
- 《oracle每日一练》免安装Oracle客户端使用PL/SQL
- 《oracle每天一练》Merge Into 语句代替Insert/Update在Oracle中的应用实战
- 如何简化 Oracle Linux 上 Oracle Database 的安装
- 用批处理文件来手动启动和停止Oracle服务
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
- cx_Oracle连接oracle数据库
- C# 连接Oracle数据库,免安装oracle客户端
- Atitit oracle新特性5 6 7 8 9 10 11 12 18 19 20 attilax总结 目录 1.1. :ora 20c1 1.2. Oracle Database 19c 的
- oracle 10g for linux
- 【甘道夫】Sqoop1.99.3基础操作--导入Oracle的数据到HDFS
- Oracle Outline总结
- oracle转换数字到格式化字符串
- Oracle建立表空间和用户
- 【大数据开发运维解决方案】Oracle Sql基础查询
- 《收获,不止Oracle》读书笔记之性能提升千倍
- Oracle 12c中SQLPlus操作使用(包含实验二ORACLE SQL*PLUS环境与查询的详细操作解释)
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档