社区
Oracle
帖子详情
oracle中varchar,varchar2,nvarchar,nvarchar2有什么区别?
RunUpwind
2007-09-18 09:24:08
本人新手,问题如题,如能细致解答,不胜感激!
...全文
10124
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字段中存储一个空字符,取出来也是空字符.
SQLServer
中
char、
varchar
、nchar、n
varchar
的
区别
SQLServer
中
char、
varchar
、nchar、n
varchar
的
区别
SQLServer
中
char、
varchar
、nchar、n
varchar
的
区别
.txt
SQL数据类型nchar_char_
varchar
与n
varchar
区别
nchar_char_
varchar
与n
varchar
有何
区别
?
MySQL 5.7优化视频教程
MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改
VARCHAR
长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL...
Sqlserver
中
char,nchar,
varchar
与N
varchar
的
区别
分析
Sqlserver
中
char,nchar,
varchar
与N
varchar
的
区别
分析,使用sqlserver的朋友可以参考下。
Oralce
中
VARCHAR
2()与N
VARCHAR
2()的
区别
介绍
主要给大家详细介绍了关于Oralce
中
VARCHAR
2()与N
VARCHAR
2()的
区别
,文
中
先通过翻译官方的介绍进行
区别
总结,然后由一个实战示例代码进行演示,相信对大家的理解会很有帮助,有需要的朋友们下面来跟着小编一起看看吧...
Oracle
17,082
社区成员
55,236
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章