PostgreSQL教程

PostgreSQL 字符

在本节中,我们将了解 PostgreSQL字符数据类型的工作方式,这使我们可以选择正确的字符类型为我们的桌子。而且,我们还会看到 字符数据类型示例

什么是PostgreSQL字符数据类型?

PostgreSQL 中,字符数据代表字符类型值,也称为 CHAR 。换句话说,我们可以说PostgreSQL字符数据类型用于存储长度有限的字符。
我们有下表,其中包含所有 Character 数据类型,受 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会 修剪空格到最大长度(n),然后存储字符串。
如果将字符串强制转换为 CHAR(n)或VARCHAR(n),则PostgreSQL会将字符串缩短为 n 个字符,然后再将其插入表中。 )

PostgreSQL字符数据类型的语法

PostgreSQL字符数据类型的语法如下:
variable_name CHAR(n)

PostgreSQL字符数据类型的示例

让我们看看不同的示例以了解 PostgreSQL 字符数据类型的工作方式
为此,我们将在 CREATE 命令的帮助下创建一个新的表名称 Char_demo 表,并使用 INSERT 命令。
我们将通过使用 CREATE 命令进入 组织数据库来创建 Char_demo 表。 strong>:
CREATE TABLE Char_demo (
    Id serial PRIMARY KEY,
    A char (1),
    B char (10)
);
输出
执行上述命令后,已成功创建 Char_demo 表,如以下屏幕截图所示:
PostgreSQL字符
一旦生成 Char_demo 表,我们可以使用 INSERT 命令向其中插入一些值。
INSERT INTO Char_demo (A, B)
VALUES ('lidihuo',
        'It is a demo test for char'
        );
输出
执行上述命令后,我们将获得以下输出,PostgreSQL将发出错误消息: " 该值对于字符类型太长(1)"。
这意味着 A 列的数据类型为 char(1),我们正在尝试可以在下面的屏幕快照中观察到将具有三个字符的字符串插入特定的列:
PostgreSQL字符
要解决以上错误,我们将使用以下命令,如下所示:
INSERT INTO Char_demo (A, B)
VALUES ('J',
        'It is a demo test for char'
        );  
输出
在执行上述命令时,我们将获得以下输出,并且PostgreSQL再次发出错误: " 该值对于键入字符(10)"。
这意味着 B 列的数据类型为 char(10),而如下面的屏幕快照所示,输入的字符数大于 10 :
PostgreSQL Character
因此,要解决以上两个错误,我们将使用以下命令:
INSERT INTO Char_demo (A, B)
VALUES ('J',
        'lidihuo'
        );
输出
执行上述命令后,我们将得到以下结果,该结果显示该值已成功插入 Char_demo中 表。
PostgreSQL字符
如上图所示,我们可以将 A和B列都成功插入到字符数据类型中。
在创建并插入 Char_demo 表的值之后,我们将使用 SELECT 命令,该命令将返回 Char_demo 的所有行>表格:
SELECT * FROM Char_demo;
输出
成功执行上述命令后,我们将获得以下结果,在该结果中,我们可以看到 A列和B列的值已成功输入。
PostgreSQL字符

概述

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

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4