ページの先頭行へ戻る
Enterprise Postgres 10 アプリケーション開発ガイド
FUJITSU Software

A.3 暗黙の型変換

暗黙の型変換とは、目的に合わせた型を明示的に指定しなくても、FUJITSU Enterprise Postgresにより自動的に行われる型変換です。

型変換可能な組合せは、変換元の値式が定数と定数でない場合で異なります。

定数でない場合は同じデータ型種類の範囲のみで型変換が可能となります。

定数の場合、文字列定数は変換先のデータ型に合わせた型変換が可能です。数定数は、内部的に特定の数値型に変換されます。そして内部的に変換された数定数が変換先のデータ型に合わせて数値型の範囲で型変換が可能となります。ビット文字列定数はビット列データ型のみ指定可能です。以下に定数の型変換の範囲を記載します。

表A.1 定数を含む暗黙の型変換可能なデータ型の組合せ

変換先

変換元

文字列定数(注1)

数定数(注2)

ビット文字列定数

数値型

SMALLINT

×

×

INTEGER

○(注3)

×

BIGINT

○(注4)

×

DECIMAL

○(注5)

×

NUMERIC

○(注5)

×

REAL

×

×

DOUBLE PRECISION

×

×

SMALLSERIAL

×

×

SERIAL

○(注3)

×

BIGSERIAL

○(注4)

×

通貨型

MONEY

×

×

文字列型

CHAR

×

×

VARCHAR

×

×

NCHAR

×

×

NCHAR VARYING

×

×

TEXT

×

×

バイナリ列型

BYTEA

×

×

日付/時刻型

TIMESTAMP WITHOUT TIME ZONE

×

×

TIMESTAMP WITH TIME ZONE

×

×

DATE

×

×

TIME WITHOUT TIME ZONE

×

×

TIME WITH TIME ZONE

×

×

INTERVAL

×

×

論理値型

BOOLEAN

×

×

幾何データ型

POINT

×

×

LSEG

×

×

BOX

×

×

PATH

×

×

POLYGON

×

×

CIRCLE

×

×

ネットワークアドレス型

CIDR

×

×

INET

×

×

MACADDR

×

×

ビット列データ型

BIT

×

BIT VARYING

×

テキスト検索に関する型

TSVECTOR

×

×

TSQUERY

×

×

UUID型

UUID

×

×

XML型

XML

×

×

JSON型

JSON

×

×

○:型変換可能
×:型変換不可能

注1) 変換先のデータ型へ型変換可能な形の文字列のみ指定可能(たとえば、変換先が数値型ならば’1’など)

注2) 数定数の表記については、最初に変換される特定の数値型を○で表しています

注3) INTEGER型で表現できる整数を指定可能

注4) INTEGER型で表現できず、BIGINT型で表現できる整数を指定可能

注5) INTEGER型およびBIGINT型で表現できず、NUMERIC型で表現できる整数、もしくは小数点または指数記号(e)を含んだ数定数を指定可能


暗黙の型変換は、データの比較および格納などにおいて利用可能です。

目的によって変換規則が異なりますので、目的ごとに説明します。