PostgreSQL - Character类型

PostgreSQL - Character类型 首页 / PostgreSQL入门教程 / PostgreSQL - Character类型

在本节中,无涯教程将了解 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 表,如以下屏幕截图所示:

PostgreSQL Character

一旦生成 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),在这里无涯教程尝试在特定列中插入包含三个字符的字符串,如无涯教程在下面的截图:

PostgreSQL Character

要解决以上错误,无涯教程将使用以下命令,如下所示:

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 ,因为可以在下面的屏幕截图中看到:

PostgreSQL Character

因此,要解决以上两个错误,无涯教程将使用以下命令:

INSERT INTO Char_demo (A, B)
VALUES ('J',
        'Learnfk'
        );

执行上述命令后,无涯教程将获取以下结果,该结果将显示该值已成功插入到 char_demo 表中。

PostgreSQL Character

如上图所示,无涯教程可以将 A和B列的值成功插入到字符数据类型中。

创建并插入 Char_demo 表的值之后,无涯教程将使用 SELECT 返回所有行 Char_demo 表中:

SELECT * FROM Char_demo;

成功执行上述命令后,无涯教程将获得以下结果,可以看到已成功输入 A列和B列的值。

PostgreSQL Character

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Swift核心技术与实战 -〔张杰〕

深入浅出云计算 -〔何恺铎〕

微信小程序全栈开发实战 -〔李艺〕

分布式金融架构课 -〔任杰〕

代码之丑 -〔郑晔〕

Go 语言项目开发实战 -〔孔令飞〕

说透5G -〔杨四昌〕

陈天 · Rust 编程第一课 -〔陈天〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)