PostgreSQL Varchar
在本节中,我们将了解
PostgreSQL varchar数据类型的工作原理,该函数允许我们存储无限制字符。长度。而且,我们还会看到
Varchar数据类型和空格的
示例。
什么是PostgreSQL Varchar数据类型?
在 PostgreSQL 中,Varchar数据类型用于保留无限长的字符。它可以容纳最大长度为
65,535 个字节的字符串。
换句话说,我们可以说
PostgreSQL Varchar数据类型使用字符数据类型,表示为
VARCHAR 。
大多数情况下,我们应该使用 Varchar和Text 数据类型。如果希望PostgreSQL检查长度,则使用 VARCHAR(n)。
在PostgreSQL中,varchar图示为 Varchar(n),其中 n 用于表示字符长度的限制。如果未描述 n ,则默认为长度无限的Varchar。
如果我们尝试在用 Varchar(n)指定的列中获得更长的字符串,则PostgreSQL在输出中发生错误。
不过,如果其他字符都是空格,则我们会有一个例外,那就是PostgreSQL将修剪到最大长度(n)和存储字符串。
如果我们为 Varchar 数据类型定义了长度说明符,或者尝试在中插入超过 n个字符, PostgreSQL将检查并引发错误。 Varchar(n)列。
注意: varchar数据类型是可变长度的字符串,可以携带特殊字符,数字和字母。并且n存储文本,其长度最大为0到65535个字符。
PostgreSQL Varchar数据类型的语法
PostgreSQL Varchar数据类型的语法如下:
PostgreSQL Varchar数据类型的示例
让我们看看不同的示例来了解
PostgreSQL Varchar数据类型的工作原理。
为此,我们将在CREATE命令的帮助下创建一个新表名称
Varchar_demo 表,并使用 INSERT命令。
我们将使用
CREATE在 Organization 数据库中创建 Varchar_demo 表命令:
CREATE TABLE Varchar_demo (
Id serial PRIMARY KEY,
P VARCHAR(1),
Q VARCHAR(10)
);
输出
成功执行以上命令后,已创建
Varchar_demo 表,如下图所示:
一旦
Varchar_demo 表已被生成后,我们将使用INSERT命令在其中插入一些值。
INSERT INTO Varchar_demo (P, Q)
VALUES ('lidihuo',
'It is a demo for Varchar'
);
输出
执行上述命令后,我们将获得以下输出,PostgreSQL将发出错误消息: "
该值对于类型字符而言太长变化(1)"。
这意味着
P 列的数据类型为
VARCHAR(1),我们在哪里尝试将三个字符的字符串插入特定的列,如下面的屏幕快照所示:
要解决以上错误,我们将使用以下命令,如下所示:
INSERT INTO Varchar_demo (P, Q)
VALUES ('J',
'It is a demo for Varchar'
);
输出
在执行上述命令时,PostgreSQL会为
Q 列重新发出类似的错误,这表示
Q 列的数据类型为
VARCHAR(10)。相反,如下面的屏幕截图所示,输入的字符数
多于10 。
因此,要解决以上两个错误,我们将使用以下命令:
INSERT INTO Varchar_demo (P, Q)
VALUES ('J',
'lidihuo'
);
输出
执行上述命令后,我们将得到以下结果: 该值已成功插入
Varchar_demo 表。
如上图所示,我们成功插入
P和Q 列的值。
创建并插入
Varchar_demo 表的值后,我们将使用
SELECT 命令以返回
Varchar_demo 表的所有行:
SELECT * FROM Varchar_demo;
输出
执行上述命令后,我们将得到以下结果,我们可以看到
P列和Q列的值已成功输入到
Varchar_demo 表中。
示例2
让我们再看一个示例以详细了解Varchar数据类型。我们将在CREATE命令的帮助下创建一个名为
Varchar_demo2 的新表,并使用INSERT命令插入一些值。
我们将创建
Varchar_demo2 使用
CREATE 命令
进入与上述类似的
组织数据库
CREATE TABLE Varchar_demo2 (
Id SERIAL PRIMARY KEY,
Name VARCHAR(5) NOT null
);
输出
执行上述命令后,已成功创建
Varchar_demo2 表,如以下屏幕截图所示:
一旦生成
Varchar_demo2 表,我们可以使用INSERT命令在其中插入一些值。
INSERT INTO
Varchar_demo2(Name)
VALUES ('Mike Ross');
输出
执行上述命令后。 PostgreSQL给出错误消息"
该值对于字符(1)类型来说太长了"。输出更加清楚地说明了这一点。
PostgreSQL VARCHAR和空格的示例
PostgreSQL在存储时不扩展varchar值的空间,而PostgreSQL在存储或恢复Varchar值时也采用尾随空格。
为此,我们将看到以下示例要了解其中的内容,请使用
Insert 命令,并在
Varchar_demo2 表的
名称列中添加值,我们在上面的示例中创建的:
INSERT INTO
Varchar_demo2(Name)
VALUES ('Noah ');
输出
执行上述命令后,我们将得到以下结果: 该值已成功插入
Varchar_demo2 表。
在创建并插入
Varchar_demo2 表的值,我们将使用
SELECT 命令从Varchar_demo2表中检索
值:
SELECT Id, Name, length(Name)
FROM Varchar_demo2;
输出
执行上述命令后,我们将得到以下结果,其中
PostgreSQL 在长度计数中包含尾随空格,因为它不会增加列的长度。
如果我们尝试在末尾插入Varchar值超过列长度的空格,PostgreSQL将
截断尾随空格。另外,PostgreSQL提出了一个
警告。如下面的示例所示:
INSERT INTO
Varchar_demo2(Name)
VALUES ('Emily ');
输出
在执行上述命令时,我们将得到以下结果:
在上述命令中,插入的值长度为
6 到
Name 列中。并且该值仍插入到列中。但是,PostgreSQL在添加值之前会先删除尾随空格。
我们可以在以下命令的帮助下对其进行检查,其中成功添加了Insert命令。
SELECT Id, Name, length(Name)
FROM Varchar_demo2;
输出
实施上述命令后,我们仍将获得以下输出,并带有警告:
行中"名称"列的数据被截断1 :
PostgreSQL CHAR和PostgreSQL VARCHAR之间的区别数据类型
PostgreSQL CHAR和VARCHAR数据类型均遵循
ASCII字符。它们实际上相似,但是在从数据库存储和获取数据方面有所不同。
下表突出显示了
CHAR和VARCHAR数据类型之间的本质区别:
PostgreSQL CHAR数据类型 |
PostgreSQL VARCHAR数据类型 |
PostgreSQL支持为 Char 数据类型分配静态内存。 |
PostgreSQL支持为Varchar数据类型动态分配内存。 |
字符数据类型也称为字符。 |
Varchar 数据类型也称为变量字符。 |
char数据类型不能容纳超过 255 个字符。 |
Varchar 数据类型最多可包含 65535 个字符。 |
Char 数据类型以固定长度存储值,这些值在创建表时表示。 |
Varchar 数据类型将值存储在长度为一字节或两字节的可变长度字符串中。 |
可以用尾随空格填充以包含指定的长度。 |
存储它们时,不能用空格填充任何字符。 |
概述
在
PostgreSQL Varchar数据类型部分中,我们学习了以下主题:
Varchar数据类型用于各种长度的字符类型。
如果我们想在将字符串(n)插入或更新到列中之前检查其长度,可以使用 Varchar(n)数据类型。
我们使用PostgreSQL Varchar数据类型和空格。