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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。