创建表的规范 nvarchar2,varchar2
1,这个真没见过什么最佳实践,都是变长的,这些都是研发根据业务需求自己设定啊。
如果需要多语种支持就用NVARCHAR2(或者汉语),如果只是单语种(英语)就varchar2 。
2.
Oracle中NVARCHAR2和VARCHAR2的区别
【转】NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则
1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。
2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个
CHAR固定长度字符域,最大长度可达2000个字节
NCHAR多字节字符集的固定长度字符域,长度随字符集而定,最多为2000个字符或2000个字节
VARCHAR2可变长度字符域,最大长度可达4000个字符
NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节
何时该用CHAR,何时该用varchar2?
CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
.nvarchar/nvarchar2
nvarchar和nvarchar2是长度不固定的
nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数
nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节
nvarchar/nvarchar2适用于存放中文
http://blog.csdn.net/yiqijinbu/article/details/6602481
sample 1:
调整一下program1 的定义即可,program1的入参变量定义有问题,定位为nvarchar修改为入参类型为varchar2。
最新文章
- iOS逆向工程之KeyChain与Snoop-it
- 【图像处理】【SEED-VPM】2.接口
- JavaScript 事件绑定及深入
- [deviceone开发]-动画示例源码
- linux上svn版本库创建小记
- 判断手机还是PC浏览器
- POJ 2387 Til the Cows Come Home(模板——Dijkstra算法)
- spring注解简单记录
- 生产环境elasticsearch5.0.1和6.3.2集群的部署配置详解
- OneNET麒麟座应用开发之二:串口读取PM25传感器数据
- centos7.2下安装Mysql笔记
- [原]OpenGL基础教程(一)多边形绘制
- 安装xmlspy之后,链接及邮箱等都用这个软件打开,怎样取消?
- SQLSERVER 和 ORACLE的if not exist 用法
- 闲谈CDN网络架构
- java开源项目jremoting
- 微信小程序Nginx环境配置
- CentOS 7.0 以后的几件事情
- 【Unity】动态调用其他脚本的函数
- GridSQL--Stado 学习初步
热门文章
- 杭电 1596 find the safest road (最短路)
- python day 13 生成器 以及 推导式
- HDU 4821 String 字符串hash
- CentOS笔记-目录结构(转载了菜鸟教程里的)
- 20170221 SE03 打包请求
- extjs4.0 treepanel节点的选中、展开! 数据的重新加载
- Codility经典算法题之九:MissingInteger
- Collections工具类、Map集合、HashMap、Hashtable(十八)
- Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])
- angularJS ng-bind用法