在本节中,无涯教程将了解 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 ,则默认为字符(1)或字符(1)。
如果无涯教程尝试在用 char(n)指定的列中获取更长的字符串,则 PostgreSQL 会显示错误在输出中。
PostgreSQL字符数据类型的语法如下:
variable_name CHAR(n)
让无涯教程看不同的示例,以了解 PostgreSQL 字符数据类型的工作方式。
为此,无涯教程将在 CREATE 命令的帮助下创建一个新的表名称 Char_demo 表,并使用 INSERT 命令插入一些值。
无涯教程将使用 CREATE 命令创建 Char_demo 表:
CREATE TABLE Char_demo ( Id serial PRIMARY KEY, A CHAR (1), B CHAR (10) );
执行上述命令后,已成功创建 Char_demo 表,如以下屏幕截图所示:
一旦生成 char_demo 表,无涯教程就可以使用插入命令将一些值插入它。
INSERT INTO Char_demo (A, B) VALUES ('Learnfk', 'It is a demo test for char' );
执行完上述命令后,无涯教程将得到以下输出,PostgreSQL将发出一个错误:" value too long for type character(1)"。
这意味着 A 列的数据类型为 char(1),在这里无涯教程尝试在特定列中插入包含三个字符的字符串,如无涯教程在下面的截图:
要解决以上错误,无涯教程将使用以下命令,如下所示:
INSERT INTO Char_demo (A, B) VALUES ('J', 'It is a demo test for char' );
在执行上述命令时,无涯教程将获得以下输出,并且再次postgreSQL将发出错误"value too long for type character(10)"的值。
这意味着 B 列的数据类型为 char(10),而输入的字符数大于10 ,因为可以在下面的屏幕截图中看到:
因此,要解决以上两个错误,无涯教程将使用以下命令:
INSERT INTO Char_demo (A, B) VALUES ('J', 'Learnfk' );
执行上述命令后,无涯教程将获取以下结果,该结果将显示该值已成功插入到 char_demo 表中。
如上图所示,无涯教程可以将 A和B列的值成功插入到字符数据类型中。
创建并插入 Char_demo 表的值之后,无涯教程将使用 SELECT 返回所有行 Char_demo 表中:
SELECT * FROM Char_demo;
成功执行上述命令后,无涯教程将获得以下结果,可以看到已成功输入 A列和B列的值。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)