社区
Oracle
帖子详情
oracle中varchar,varchar2,nvarchar,nvarchar2有什么区别?
RunUpwind
2007-09-18 09:24:08
本人新手,问题如题,如能细致解答,不胜感激!
...全文
10241
16
打赏
收藏
oracle中varchar,varchar2,nvarchar,nvarchar2有什么区别?
本人新手,问题如题,如能细致解答,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yidianshuishui
2011-11-11
打赏
举报
回复
学习啦,
education_study
2011-05-06
打赏
举报
回复
学习中~~~
dingwood
2011-01-05
打赏
举报
回复
学习了
imissyouyw
2009-11-18
打赏
举报
回复
学习了
peter_huangcw
2009-03-12
打赏
举报
回复
也学习
QQ153984069
2008-12-06
打赏
举报
回复
学习
Eclipse..
2008-11-03
打赏
举报
回复
字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb
根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb
RunUpwind
2007-09-18
打赏
举报
回复
网上查到:目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
问题是:如果在varchar2字段中存储一个空字符,取出来会是什么?是null?
WangZWang
2007-09-18
打赏
举报
回复
varchar,varchar2,nvarchar,nvarchar2
-----------------------------------
四个类型都属于变长字符类型,
varchar和varchar2的区别在与后者把所有字符都占两字节,前者只对汉字和全角等字符占两字节。
nvarchar和nvarchar2的区别和上面一样, 与上面区别在于是根据Unicode 标准所进行的定义的类型,通常用于支持多国语言类似系统的定义。
RunUpwind
2007-09-18
打赏
举报
回复
急啊,大家来帮忙啊
hebo2005
2007-09-18
打赏
举报
回复
有N开头的是根据字符集的
2结尾的可能是双字节吧,这个不太清楚,你可以GOOGLE一下
RunUpwind
2007-09-18
打赏
举报
回复
谢谢,hebo2005() 的意思是 VARCHAR2 VARCHAR NVARCHAR2 NVARCHAR 最大长度都为4kb.
那么它们的区别是什么呢?
hebo2005
2007-09-18
打赏
举报
回复
字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb
根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb
RunUpwind
2007-09-18
打赏
举报
回复
谢谢!
xspf
2007-09-18
打赏
举报
回复
现在版本的Oracle,VARCHAR和VARCHAR2是没有区别的,VARCHAR2和ANSI VARCHAR的区别是VARCHAR2把空串等同于null处理。这也是为什么ORACLE推荐使用VARCHAR2类型的原因,因为如果新版本Oralce的VARCHAR类型完全兼容ANSI标准时,使用varchar2的脚本可以不修改。
至于一个VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。
而NCHAR、NVARCHAR是以UNICODE-16存储,每个字符固定两个字节。
RunUpwind
2007-09-18
打赏
举报
回复
我做了测试,在varchar2字段中存储一个空字符,取出来也是空字符.
Oracle
中
varchar
,
varchar
2,n
varchar
,n
varchar
2的
区别
及其它数据类型描述
Oracle
中
数据类型描述
Oracle
字段类型char、
varchar
2、n
varchar
2的
区别
与使用
1、和
VARCHAR
不同的是,
VARCHAR
2把空串等同于null处理,这也是为什么
ORACLE
推荐使用
VARCHAR
2类型的原因。存储大小是输入数据的实际长度加 2 个字节,用于反映存储的数据的长度。例如
varchar
2(3 char),可以存储3个字符(包括字母和汉字),如'啊啊啊'、'aaa'、'啊aa',与字节(byte)长度无关;与上面不同的是,是根据Unicode标准所进行的定义的类型,通常用于支持多国语言类似系统的定义。固定长度,非 Unicode 字符数据,长度为 n 个字节。
Oracle
中
varchar
,
varchar
2,n
varchar
,n
varchar
2的
区别
转载于:http://www.cnblogs.com/blogabc/archive/2013/07/26/3217140.html -
varchar
,
varchar
2 联系: 1.
varchar
/
varchar
2用于存储可变长度的字符串 比如
varchar
(20),存入字符串'abc',则数据库
中
该字段只占3个字节,而不是20个字节 2.size 的最大值是 4000,而最
Oracle
中
varchar
,
varchar
2,n
varchar
,n
varchar
2的
区别
及其它数据类型描述
--
varchar
,
varchar
2 联系: 1.
varchar
/
varchar
2用于存储可变长度的字符串 比如
varchar
(20),存入字符串'abc',则数据库
中
该字段只占3个字节,而不是20个字节 2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如
varchar
(20)表示最大可以存放20个字节的内容
区别
: 1.
varchar
2把所有字符都占两字节处...
高校技术转移办公室人员如何通过科创数智大脑实现技术成果精准匹配?.docx
高校技术转移办公室人员如何通过科创数智大脑实现技术成果精准匹配?
Oracle
17,134
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章