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;
输出: