📜  PostgreSQL – CHAR 数据类型

📅  最后修改于: 2022-05-13 01:57:14.943000             🧑  作者: Mango

PostgreSQL – CHAR 数据类型

PostgreSQL 支持称为 CHAR 的字符数据类型。此数据类型用于存储有限长度的字符。在PostgreSQL中用char(n)表示,其中n表示字符长度的限制。如果未指定 n ,则默认为char(1)character(1) 。任何尝试在用char(n)定义的列中存储更长的字符串导致 PostgreSQL 发出错误。但是,一个例外是,如果多余的字符都是空格,PostgreSQL 会将空格截断到最大长度并存储字符串 。

Syntax: variable_name CHAR(n)

例子 :
让我们使用以下命令为演示创建一个新表(例如 char_test):

CREATE TABLE char_test (
    id serial PRIMARY KEY,
    x CHAR (1),
        y CHAR(10)
);

现在让我们使用以下命令在 char_test 表中插入一个新行:

INSERT INTO char_test (x, y)
VALUES
    (
        'Geeks',
        'This is a test for char'
        
    );

在这个阶段,PostgreSQL 将引发错误,因为 x 列的数据类型是 char(1),我们尝试将一个包含三个字符的字符串插入到该列中,如下所示:

ERROR:  value too long for type character(1)



所以,现在让我们修复它。

INSERT INTO char_test (x, y)
VALUES
    (
        'G',
        'This is a test for char'
        
    );

现在,由于输入的字符数大于 10,我们将在 y 列中得到相同的错误,如下所示:

ERROR:  value too long for type character(10)


我们也修一下吧。

INSERT INTO char_test (x, y)
VALUES
    (
        'G',
        'hello Geek'
        
    );

现在我们已经成功地将值分配给字符数据类型,通过运行以下命令来检查它:

SELECT * FROM char_test;

输出: