📜  PostgreSQL – VARCHAR 数据类型

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

PostgreSQL – VARCHAR 数据类型

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

Syntax: variable_name VARCHAR(n)

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

CREATE TABLE varchar_test (
    id serial PRIMARY KEY,
    x VARCHAR (1),
        y VARCHAR(10)
);

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

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

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

ERROR:  value too long for type character varying(1)



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

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

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

ERROR:  value too long for type character varying(10)


我们也修一下吧。

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

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

SELECT * FROM varchar_test;

输出: