CAST の使い方

型を変える

書き方

CAST(値 AS 型)
値::型(PostgreSQL)

文字列を数や日付に、数を文字列に変えます。

よく使うオプション

オプション意味
CAST(値 AS 型)型を変える(標準 SQL)
値::型同じ意味の短い書き方(PostgreSQL)
INTEGER / NUMERIC / TEXT / DATEよく変える先の型

例

SELECT CAST('2024-06-01' AS DATE) + 30;  ?column?
------------
 2024-07-01
(1 row)

文字列を日付に変えて、30 日後の日付を出します。

SELECT CAST(salary AS TEXT) || '円' FROM employees;

数を文字列に変えて「円」をつなげます。

SELECT 7 / 2, CAST(7 AS NUMERIC) / 2; ?column? |      ?column?
----------+--------------------
        3 | 3.5000000000000000
(1 row)

整数どうしでは 3 になる割り算を、NUMERIC に変えて 3.5 にします。

SELECT '42'::integer + 1;

PostgreSQL の :: で、文字列を整数に変えてから足します。

よくある間違い・注意

  • 数にできない文字('abc' など)を INTEGER に変えると、エラーで止まります。
  • NUMERIC から INTEGER に変えると四捨五入されます(3.5 は 4)。切り捨てたいときは先に TRUNC を使います。

実際に打って練習する

SQL コースの Lv17「型を変える CAST」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

SQL 構文一覧(使い方と例)へ戻る