PostgreSQL Character类型
在本节中,我们将了解PostgreSQL 字符数据类型的工作原理,这使我们能够为我们的表选择正确的字符类型。而且我们还看到了字符数据类型的例子。
什么是 PostgreSQL 字符数据类型?
在PostgreSQL中,字符数据表示字符类型值,也称为CHAR。换句话说,我们可以说 PostgreSQL 字符数据类型用于存储有限长度的字符。
我们有下表,其中包含PostgreSQL支持的所有字符数据类型:
数据类型 | 解释 |
---|---|
char(n) | 这里的n代表存储定长字符串的字符数。右侧填充的空间等于字符的大小。 |
character(n) | 这里的n是存储固定长度字符串的字符数。右侧填充的空间等于字符的大小。 |
varchar(n) | 这里n是要存储的字符数。变长字符串。 |
character varying(n) | 这里n是要存储的字符数。变长字符串。 |
text | 变长字符串。 |
在上表中,CHAR(n) 和VARCHAR(n)最多可以存储n 个字符,其中n表示字符长度的限制。如果未定义n ,则默认为char(1)或character(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 会报错“ The value is too long for type Character (1) ”。
这意味着A列的数据类型是char (1),我们试图将包含三个字符的字符串插入到特定列中,如下面的屏幕截图所示:
要解决上述错误,我们将使用以下命令,如下所示:
INSERT INTO Char_demo (A, B)
VALUES ('J',
'It is a demo test for char'
);
在执行上述命令时,我们将得到以下输出,PostgreSQL 将再次发出错误“the value is too long for type Character (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 列的值都已成功输入。
热门文章
优秀文章