PostgreSQL에서 정수를 문자열로 변환
Joy Idialu
2022년8월18일
이 자습서에서는 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);
이 자습서에서는 정수를 문자열로 변환하는 두 가지 방법에 대해 설명했습니다.