Database PostgreSQL中字符变化和VARCHAR之间的区别是什么?

Database PostgreSQL中字符变化和VARCHAR之间的区别是什么?,database,postgresql,varchar,varying,Database,Postgresql,Varchar,Varying,在我使用VARCHAR的地方使用字符变化。 我是初学者,而他是专家。 这让我觉得有些事情我不知道 PostgreSQL中字符变化和VARCHAR之间有什么区别?VARCHAR是字符变化的别名,因此没有区别,请参阅:) 符号varchar(n)和char(n) 字符的别名是否变化(n) 和字符(n)。 不带长度说明符的字符无效 相当于字符(1)。如果 使用字符变化时不使用 长度说明符,类型接受 任何大小的字符串。后者是一个 PostgreSQL扩展 这是一个很好的参考。它们是同一类型的两个不同名称

在我使用
VARCHAR
的地方使用
字符变化
。 我是初学者,而他是专家。 这让我觉得有些事情我不知道


PostgreSQL中字符变化和VARCHAR之间有什么区别?
VARCHAR
是字符变化的别名,因此没有区别,请参阅:)

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


这是一个很好的参考。它们是同一类型的两个不同名称。

唯一的区别是字符变化比VARCHAR更人性化

两者都是相同的东西,但许多数据库没有提供postgreSQL主要提供的变化字符。因此,对于OraclePostgre和DB2这样的多数据库,最好使用Varchar。简短的回答是:没有区别


答案很长:
字符变化
是ANSI SQL标准中的正式类型名称,所有符合标准的数据库都需要支持该名称
VARCHAR
是所有现代数据库都支持的较短别名。我更喜欢
VARCHAR
,因为它比较短,而且较长的名字让人觉得迂腐。然而,postgres工具,如
pg_dump
\d
将输出
字符变化

@joop我没有接触COBOL的特权,但我接触过英语,我认为“VARCH是什么?”:-)除此之外,我认为这让顶级程序员感到困惑;)他们习惯于反过来使用varcharIt:varchar是variable的别名。不是说迂腐,但它就在你的引文中。@zerzevul One可能不同意文档,也可能同意Charles的观点,因为
varchar(n)
等是ANSI标准,这种语法是PostgreSQL特有的。