迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > PostgreSQL >

在 PostgreSQL 中将整数转换为字符串

作者:迹忆客 最近更新:2023/05/09 浏览次数:

本教程讨论如何在 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);

本教程讨论了将整数转换为字符串的两种方法。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PSQL 中运行 SQL 文件

发布时间:2023/03/20 浏览次数:178 分类:数据库

本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。

在 PostgreSQL 中使用循环

发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL

在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便