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 列的值都已成功输入。

热门文章

优秀文章