PostgreSQL 字符型

17 Mar 2025 | 4 分钟阅读

在本节中,我们将了解 PostgreSQL 字符数据类型的工作原理,这使我们能够为表选择正确的字符类型。我们还会看到字符数据类型示例

什么是 PostgreSQL 字符数据类型?

PostgreSQL 中,字符数据表示字符类型的值,也称为 CHAR。 换句话说,我们可以说 PostgreSQL 字符数据类型用于存储有限长度的字符。

我们有下表,其中包含 PostgreSQL 支持的所有字符数据类型

数据类型说明
char(n)这里 n 表示存储固定长度字符串的字符数。 右侧用空格填充等于字符的大小。
character(n)这里 n存储固定长度字符串的字符数。 右侧用空格填充等于字符的大小。
varchar(n)这里 n要存储的字符数。 变长字符串。
character varying(n)这里 n要存储的字符数。 变长字符串。
text变长字符串。

在上表中,CHAR(n) 和 VARCHAR(n) 最多可以存储 n 个字符,其中 n 表示字符长度的限制。 如果未定义 n,则默认为 char (1)character (1)

如果我们尝试在以 char(n) 指定的列中获取更长的字符串,则 PostgreSQL 会在输出中显示错误。

但是,如果额外的字符都是空格,则 PostgreSQL 会修剪空格到最大长度 (n) 并存储该字符串。

如果字符串转换为 CHAR(n) 或 VARCHAR(n),PostgreSQL 会将字符串缩短为 n 个字符,然后再将其插入到表中。

PostgreSQL 字符数据类型的语法

PostgreSQL 字符数据类型的语法如下

PostgreSQL 字符数据类型的示例

让我们看一些不同的例子,以了解 PostgreSQL 字符数据类型如何工作。

为此,我们将借助 CREATE 命令创建一个名为 Char_demo 的新表,并使用 INSERT 命令插入一些值。

我们将使用 CREATE 命令在 Organization 数据库中创建 Char_demo

输出

执行上述命令后,已成功创建 Char_demo 表,如下面的屏幕截图所示

PostgreSQL Character

生成 Char_demo 表后,我们可以使用 INSERT 命令向其中插入一些值。

输出

实施上述命令后,我们将获得以下输出,PostgreSQL 将发出错误“该值对于字符类型 (1) 而言太长”。

这意味着 A 列的数据类型是 char (1),我们试图将一个包含三个字符的字符串插入到特定列中,如下面的屏幕截图所示

PostgreSQL Character

为了解决上述错误,我们将使用以下命令,如下所示

输出

执行上述命令后,我们将获得以下输出,PostgreSQL 再次发出错误“该值对于字符类型 (10) 而言太长”。

这意味着 B 列的数据类型是 char (10),而输入的字符数大于 10,如下面的屏幕截图所示

PostgreSQL Character

因此,为了解决上述两个错误,我们将使用以下命令

输出

执行上述命令后,我们将获得以下结果,表明该值已成功插入到 Char_demo 表中。

PostgreSQL Character

正如我们在上面的屏幕截图中看到的,我们可以成功地将值插入到 A 和 B 列的字符数据类型中。

在创建并插入 Char_demo 表的值后,我们将使用 SELECT 命令,该命令返回 Char_demo 表的所有行

输出

成功实施上述命令后,我们将获得以下结果,我们可以在其中看到 A 列和 B 列的两个值都已成功输入。

PostgreSQL Character

概述

PostgreSQL 字符数据类型部分中,我们了解到字符数据类型可用于固定长度的字符。


下一个主题PostgreSQL 文本