Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7096249
  • 博文数量: 703
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 12042
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。

文章分类

全部博文(703)

分类: Oracle

2013-07-10 11:29:37

Q:PL/SQL中 varchar 和 varchar2有什么区别?
A:
varchar       存放的字符数据最长2000。
varchar2    存放字符数据最大长度为4000字。 它是oracle独特的数据类型
在oracle里使用存储过程时,如果遇到一个字段字段经常被修改,比如拼接sql语句或者用游标修改某个表字段,这种情况下使用varchar类型。varchar类型是固定长度的,而varchar2是变化的一个长度,修改的效率相对较低。

varchar2和varchar的目前没有区别,不过以后的版本就不支持varchar类型,如果想新版本的数据库兼容就不要用varchar,如果想和其它数据库兼容就不要用varchar2.

1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
大部分情况下建议使用varchar2类型,可以保证更好的兼容性。

 

Q:SQLServer中varchar和nvarchar有什么区别?
A:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。两字段分别有字段值:我和coffee那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar上面是一个总结介绍,通过上面的介绍,可以知道。varchar(4) 可以输入4个字线,也可以输入两个汉字nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个

 

 

阅读(3663) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~