在 PostgreSQL 中将整数转换为字符串
本教程讨论如何在 PostgreSQL 中将整数转换为字符串。
在 PostgreSQL 中将整数转换为字符串
考虑一个 quiz_score
表,它记录了问答游戏中每个参与者的分数。分数作为字符串而不是整数存储在此表中。
id | player_id | score |
---|---|---|
1 | 1 | 54 |
2 | 2 | 72 |
3 | 3 | 52 |
4 | 4 | 55 |
5 | 5 | 93 |
6 | 6 | 72 |
7 | 7 | 55 |
8 | 8 | 64 |
9 | 9 | 87 |
10 | 10 | 81 |
下面是表的 CREATE
语句:
CREATE TABLE quiz_score
(
id integer NOT NULL GENERATED ALWAYS AS IDENTITY,
player_id integer NOT NULL,
score text NOT NULL,
CONSTRAINT quiz_score_pkey PRIMARY KEY (id)
);
这是用数据填充表的 INSERT
语句:
INSERT INTO quiz_score (player_id, score)
VALUES
(1, 54),
(2, 72),
(3, 52),
(4, 55),
(5, 93),
(6, 72),
(7, 55),
(8, 64),
(9, 87),
(10, 81);
如果我们被要求找到一个或多个有特定分数的球员,而我们得到的这个分数是整数类型而不是存储在表中的字符串类型,这样的查询:
SELECT * FROM quiz_score WHERE score = 72;
会给出以下错误:
ERROR: operator does not exist: text = integer
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
按照给出的提示,我们必须将给定的分数(整数类型)转换为字符串,如下所示:
SELECT * FROM quiz_score WHERE score = 72::text;
没有抛出错误,结果如下:
id | player_id | score |
---|---|---|
2 | 2 | 72 |
6 | 6 | 72 |
将整数转换为字符串的另一种方法如下:
SELECT * FROM quiz_score WHERE score = cast(72 as text);
本教程讨论了将整数转换为字符串的两种方法。
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。