两种语言都是许多编程语言和数据库系统中的数据类型,其中“char”表示字符,而“varchar”表示可变字符。 C语言中的Char表示用于存储字符串值的字符类型,大多数是UTF-8编码的字符和整数。另一方面,Varchar是一种数据类型,可以包含任意类型的不确定长度的数据。 Varchar是数据库管理系统中字段的数据类型。尽管它们都可以存储最多8,000个字符的字符串值,但char比varchar需要更多的存储空间。 从技术上讲,它们都用于存储相同类型的数据,但是它们的存储和检索方式不同。

什么是Char?

Char是固定长度的数据类型,用于存储非Unicode字符,因此称为名称(字符的缩写)。每个字符都占用一个字节的空间,这些字符被编码为数字-ASCII编码中的数字。char类型也可以用于声明小整数。要声明字符变量,使用关键字“ char”,这意味着单个字符存储在一个字节中。

与整数类型一样,char可以是有符号的或无符号的。它可以保存从-128到127范围内的带符号char值,并且根据体系结构大小,它也可以是无符号的,从0到255范围内的值。存储char值时,将在它们之间右填充空格以指定长度。检索尾随空格时将其删除。

例如–如果声明一个char(7)数据类型的变量,则无论您要存储1个字符还是7个字符,它将始终占用7个字节的数据,这意味着该列中最多可以存储7个字符。

什么是Varchar?

顾名思义,Varchar是长度可变的数据类型,可以包含长度在0到65,535之间的任何类型的数据。 Varchar字段可以存储最大到一定限制的任何大小的值,具体取决于数据库。可以用编程语言或数据库级别定义它。 varchar字段的大小可以是从零到声明的最大字段长度的任何值。

要声明可变字符,请使用“varchar”关键字。 Varchar占用可变空间,这意味着它将仅使用等于字符数的字节数。由于它仅利用字符串大小所需的空间,因此有助于避免空间的浪费。在某些编程语言和数据库系统中,所有多余的空间都会自动从数据库中删除。

例如,如果您声明变量varchar(10),它将使用等于字符数的字节数。因此,如果只存储一个字符,则只占一个字节;如果存储10个字符,则只占10个字节,从而避免浪费数据库空间。

Char Varchar
用于存储固定长度的字符串值。 用于存储可变长度的字母数字数据。
长度在0到255之间变化。 长度在0到65,535之间变化。
每个字符占用1个字节用于存储。 每个字符占用1个字节,再加上1或2个额外的字节来存储长度信息。
char的存储大小与声明的相同。 varchar的存储大小取决于所存储的特定字符串。
使用静态内存分配。 使用动态内存分配。
当变量的长度已知时,应使用Char。 仅当变量的长度未知时才应使用Varchar。
它仅接受字符。 它接受字符和数字。
它比Varchar快50%。 它比Char慢。
char值的存储大小等于该列的最大大小。 varchar值的存储大小等于输入的数据的实际长度,而不是列的最大大小。

总结

  • “Char”和“Varchar”都是编程语言和数据库系统中的数据类型,它们在功能和技术方面具有一些共同的特征。但是,它们的区别很大,就像存储和检索它们的方式一样。
  • char实际上是指字符,而varchar是指可变字符。顾名思义,char是固定长度的数据类型,而varchar是可变长度的数据类型。
  • Char每个字符最多占用1个字节,而varchar每个字符最多占用1个字节加上额外的1个或2个字节来存储长度信息。对于char,长度在0到255之间变化,对于varchar,长度可以在0到65,535之间。
  • 由于char是固定长度的,因此该字段中的所有剩余空间都用空格填充。另一方面,Varchar是可变长度的,因此它仅保存分配给它的字符。
  • 当值存储在“char”字段中时,其余字符将用空格填充,而当您提供的数据少于指定长度时,“varchar”不会添加多余的空格。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Char和Varchar
本文链接:https://www.vsdiffer.com/vs/char-vs-varchar.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。