John在我使用CHARACTER VARYING
的地方使用VARCHAR
。
我是初学者,而他是专家。
这表明我有一些我不知道的事情。
PostgreSQL中的CHARACTER VARYING和VARCHAR有什么区别?
答案 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
,因为它较短,而且较长的名称让人觉得书呆子。但是,诸如VARCHAR
和pg_dump
之类的postgres工具将输出\d
。