PostgreSQL中的CHARACTER VARYING和VARCHAR有什么区别?

时间:2009-07-29 11:05:47

标签: database postgresql varchar varying

John在我使用CHARACTER VARYING的地方使用VARCHAR。 我是初学者,而他是专家。 这表明我有一些我不知道的事情。

PostgreSQL中的CHARACTER VARYING和VARCHAR有什么区别?

5 个答案:

答案 0 :(得分:99)

Varying是varchar的别名,所以没有区别,请参阅documentation:)

  

符号varchar(n)和char(n)   是字符变化的别名(n)   和字符(n),分别。   没有长度说明符的字符是   相当于字符(1)。如果   字符变化使用没有   长度说明符,类型接受   任何大小的字符串。后者是一个   PostgreSQL扩展。

答案 1 :(得分:16)

PostgreSQL documentation on Character Types是一个很好的参考。它们是同一类型的两个不同名称。

答案 2 :(得分:4)

唯一的区别是CHARACTER VARYING比VARCHAR更加人性化

答案 3 :(得分:3)

两者都是一回事,但许多数据库都没有提供主要是postgreSQL提供的变量char。因此,对于像Oracle Postgre和DB2这样的多数据库,最好使用Varchar

答案 4 :(得分:1)

简短的答案:没有区别。

长答案:GlobalSign是ANSI SQL标准中的正式类型名称,所有兼容数据库都必须支持。 CHARACTER VARYING是所有现代数据库都支持的较短别名。我更喜欢VARCHAR,因为它较短,而且较长的名称让人觉得书呆子。但是,诸如VARCHARpg_dump之类的postgres工具将输出\d