oracle中varchar2(byte)、varchar2(char)、nvarchar2()区别
类别:数据库 浏览量:746
时间:2017-3-26 oracle中varchar2(byte)、varchar2(char)、nvarchar2()区别
oracle中varchar2(byte)、varchar2(char)、nvarchar2()区别一、varchar2(byte)
就是默认的表示方式,比如我们写成:varchar2(100),就相当于varchar2(100 byte),表示最大字节数是100,该字段最多能容纳100个字节,强调空间大小。由于我们描述的是字节,因此,保存汉字等字符时,就要小心了。如果你的数据库用的是GBK编码,那么一个汉字将占用2个字节,最多能存50个汉字,如果你的数据库用的是UTF8编码,那么一个汉字将占用3个字节,最多能存33个汉字。
二、varchar2(char)
假设我们写成varchar2(100 char),那么无论是数字、字母、汉字,都看成一个字符,最多写100个,当然,汉字越多,占用的空间越大,同样遵循上边的数据库编码原则。例如:存入一个汉字,底层占2或3个字节,存入一个字母,占1个字节,不是1个字母或数字也占2或3个字节!
三、nvarchar2()
没有byte、char之分,类似于varchar2(char),只不过nvarchar2()屏蔽了数据库编码,无论是何种编码,nvarchar2()中一个汉字都占两个字节。
四、总结
对于GBK编码的数据库而言,安全的写法为:varchar2(2000 char)、nvarchar2(2000),对于UTF8编码的数据库而言,安全的写法为:varchar2(1333 char)、nvarchar2(2000)。
标签:oracle
您可能感兴趣
- zabbix数据库解析(zabbix agent2 监控oracle数据库的方法)
- mysql的事务隔离级别怎么实现(mysql、oracle默认事务隔离级别的说明)
- oracle中rownum和row_number()
- oracle for update nowait和for update区别
- zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)
- oracle如何用脚本文件创建表空间(MySQL版oracle下scott用户建表语句实例)
- docker部署oracle(Docker安装Oracle_11g的方法)
- oracle RMAN CONFIGURE配置项
- mysql数据库与表的基本操作总结(Mysql、Oracle中常用的多表修改语句总结)
- php连接oracle(PHP远程连接oracle数据库操作实现方法图文详解)
- MySQL与Oracle数据类型对应关系
- oracle日期函数
- SQL Server与Oracle数据类型的对应关系
- zabbix支持oracleodbc功能吗(使用zabbix监控oracle数据库的方法详解)
- oraclemysql知识点(详解Mysql和Oracle之间的误区)
- Oracle正则表达式的用法
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
热门推荐
- vue如何加速(vue函数防抖与节流的正确使用方法)
- 基于python的加密算法(python实现维吉尼亚加密法)
- php运用redis实现抢购实例(PHP+redis实现微博的拉模型案例详解)
- apache服务器设置301(Apache Rewrite实现URL的301跳转和域名跳转)
- 阿里云mysql升级注意事项(阿里云mysql空间清理的方法)
- mysql时间存储如何选择(MySQL如何使用时间作为判断条件)
- 性格内向的人面试注意事项
- js宏任务都有哪些(JavaScript 操作宏任务与微任务)
- sql版本号处理并发(SQL server高并发生成唯一订单号的方法实现)
- HttpWebResponse类的属性和方法