char,varchar和varchar2的区别

char,varchar和varchar2的区别,第1张

char:

使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的8个字节来存储数据

,不足8为的字符串在其后补空字符;

varchar

在oracle中varchar跟char是一个类型;sqlserver中varchar相当于oracle中的varchar2

varchar2

用实际字符数+2个字节来存储的变长字符串;比如一个字段定义为varchar(10),而实际存储的内容为

‘A’,则数据库会用3个字节来存储该字符串,其中前两个字节用来存储字符的长度;

在数据库中的字段,由于一个字段大小不能超过一个block的长度,所以varchar和char都是最大为

8000个字节,由于可能会存储汉字,也就是一个字符用2个字节来存储,所以字段中最大定义为varchar

(4000),而在plsql中,这个大小的限制变为32000左右,这是因为表示其大小的字节只有两个。

区别:

1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,

比如,存储字符串“abc",对于CHAR

(10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2

(10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。

2.CHAR的效率比VARCHAR2的效率稍高。

3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

char和varchar都是字符串类型的

char固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

所占存储空间为你定义时的大小。

数据量较大时以char字段为查询条件时查询得快一些

varchar可变长度的非 Unicode 数据,最长为 8,000 个字符。

所占存储空间为实际大小(在不超过你定义长度时)

如果要存储的字段不是定长的用varchar较好一些。

所以,对经常修改(或插入)的字段选用char,而不常修改的建议用varchar

以上就是关于char,varchar和varchar2的区别全部的内容,包括:char,varchar和varchar2的区别、数据库varchar和char的区别、数据库:char和varchar数据类型的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9330370.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存