📜  PostgreSQL字符

📅  最后修改于: 2020-11-30 01:34:29             🧑  作者: Mango

PostgreSQL字符

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

什么是PostgreSQL字符数据类型?

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

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

Datatype Explanation
char(n) Here n represents the number of characters to store fixed-length strings. Space padded on the right is equal to the size of characters.
character(n) Here n is the number of characters to store fixed-length strings. Space padded on the right is equal to the size of characters.
varchar(n) Here n is the number of characters to store. Variable-length string.
character varying(n) Here n is the number of characters to store. Variable-length string.
text Variable-length string.

在上表中, CHAR(n)和VARCHAR(n)最多可以存储n个字符,其中n表示字符长度的限制。如果未定义n ,则默认为char(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表:

CREATE TABLE Char_demo (
    Id serial PRIMARY KEY,
    A CHAR (1),
    B CHAR (10)
);

输出量

执行上述命令后,已成功创建Char_demo表,如以下屏幕快照所示:

一旦生成了Char_demo表,我们就可以使用INSERT命令将一些值插入其中。

INSERT INTO Char_demo (A, B)
VALUES ('Javatpoint',
        'It is a demo test for char'
        );

输出量

执行完上述命令后,我们将获得以下输出,PostgreSQL将发出一个错误:“对于字符类型(1)该值太长”。

这意味着A列的数据类型为char(1),并且我们尝试在其中将三个字符的字符串插入特定的列,如下面的屏幕截图所示:

要解决以上错误,我们将使用以下命令,如下所示:

INSERT INTO Char_demo (A, B)
VALUES ('J',
        'It is a demo test for char'
        );    

输出量

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

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

因此,要解决以上两个错误,我们将使用以下命令:

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

输出量

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

从上面的屏幕快照中可以看到,我们可以将列A和B的值成功插入到字符数据类型中

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

SELECT * FROM Char_demo;

输出量

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

总览

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