Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
--varchar,varchar2
联系:
1.varchar/varchar2用于存储可变长度的字符串
比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节
2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如
varchar(20)表示最大可以存放20个字节的内容
区别:
1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
比如GBK,汉字就会占两个字节,英文1个
如果是UTF-8,汉字一般占3个字节,英文还是1个。
但是一般情况下,我们都认为是两个字节处理,因为oracle安装时候默认我们都选择GBK的编码格式,但是我们在页面做输入字符串长度的校验的时候,还是以数据库设计字段最大长度除3来作为最大长度-----防止数据库移植时设置不同编码格式;
比如:VARCHAR2(10),一般情况下最多存放5个汉字,10个字符
--nvarchar,nvarchar2
联系:
1.nvarchar/nvarchar2用于存储可变长度的字符串
2.size 的最大值是 4000,而最小值是 1,其值表示字符的个数,而不是字节数
3.这两种类型更适合存储中文
区别:
1.nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算
2.nvarchar2中所有字符均按照2个字节计算;
3.nvarchar2虽然更占空间,但是它有更好的兼容性,所有推荐使用;
Oracle中varchar,varchar2,nvarchar,nvarchar2的区别的更多相关文章
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述
--varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个 ...
- ORACLE中的varchar2()与nvarchar2()的讲解
Oracle中NVARCHAR2和VARCHAR2的区别 [转]NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集 ...
- SQL中varchar和nvarchar有什么区别?
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节.nvarc ...
- SQL中varchar和nvarchar有什么区别
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节. nvar ...
- SQL中varchar和nvarchar的基本介绍及其区别
SQL中varchar和nvarchar的基本介绍及其区别 varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储 ...
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用) ...
- Oracle中执行存储过程call和exec区别
Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...
- Oracle中Blob和Clob类型的区别与操作
Oracle中Blob和Clob类型 1.Oracle中Blob和Clob类型的区别 BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的.其实两个是可以互换的 ...
- Oracle中Union与Union All的区别(适用多个数据库)
Oracle中Union与Union All的区别(适用多个数据库) 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或 ...
随机推荐
- 将一堆石子分成多堆——Multi-SG 游戏
这类博弈只需要记住一点,一个由多个游戏组成的游戏sg值为这多个游戏的sg值异或和. 也就是所有对一整个nim游戏它的sg值即为每一小堆的sg的异或和. hdu 5795 这题就是可以选择把一堆石子分成 ...
- Controller接口
package org.springframework.web.servlet.mvc; public interface Controller { ModelAndView handleReques ...
- input上传图片预览
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)
小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
- Android MotionEvent事件响应机制
在android中,事件主要包括点击.长按.拖曳.滑动等操作,这些构成了Android的事件响应,总体来说,所有的事件都由如下三个部分作为基础构成: 按下(action_down),移动(action ...
- 20145236 《Java程序设计》 第十周学习总结
20145236 <Java程序设计> 第十周学习总结 Java网络编程 Java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好的语言, ...
- oAuth协议学习
我们的项目需要为一个认证网站开发一套API,这些API可以提供给很多公司来调用,但是公司在调用之前,必须先做授权认证,由此接触到了oAuth协议. 以下内容来自网络整理 定义 OAUTH协议为用户资源 ...
- node 日志管理log4js
node 日志管理log4js 一.默认的控制台输出 我们使用express框架时,开发模式用node或者supervisor启动nodejs应用时,控制台都是显示如下的日志. GET /css/bo ...
- H-The Cow Lineup(POJ 1989)
The Cow Lineup Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5367 Accepted: 3196 De ...
- Windows常用的DOS命令
cleanmgr–打开磁盘清理工具compmgmt.msc---计算机管理conf—-启动 netmeetingcharmap–-启动字符映射表calc—-启动计算器chkdsk.exe–-Chkds ...