gpt4 book ai didi

sql - PostgreSQL 相当于 SQL Server NVARCHAR (MAX)

转载 作者:行者123 更新时间:2023-12-04 12:40:22 53 4
gpt4 key购买 nike

我知道在 PostgreSQL 中,VARCHAR(n)相当于 SQL Server 的 NVARCHAR(n) ,但我怎么能使用类似 VARCHAR(MAX) 的东西?在 PostgreSQL 中,类似于 NVARCHAR(MAX)在 SQL Server 中?

最佳答案

在 PostgreSQL 中为 char(n)varchar(n)只是受限于n参数(不确定这种限制的性质,它似乎是 20 Mb 或 10M 的 2 字节字符或其他东西):

postgres=# select 'a'::varchar(999999999);
ERROR: length for type varchar cannot exceed 10485760

因此,如果您真的需要 MS SQL Server 的等效项 nvarchar(max) - 可能是 varchar(10485760)
然而,要使用真正无限的字符值,有两种方法: varcharcharacter varying没有参数或只是 text类型。在 documentation 中阅读更多信息并注意其中提供的提示:

There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead.

关于sql - PostgreSQL 相当于 SQL Server NVARCHAR (MAX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56521515/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com