6.9.1.1.2 型キャスト

型キャストは、SQLスタイルCAST (VALUE AS DATATYPE)構文を使用するPGQLでサポートされます。たとえば、CAST ('25' AS INT)、CAST (10 AS STRING)、CAST ('2005-02-04' AS DATE)、CAST (e.weight AS STRING)などです。サポートされているキャスト操作を次の表にまとめます。Yは、変換がサポートされることを示し、Nは、変換がサポートされないことを示します。無効な値に対するキャスト操作(たとえば、CAST ('xyz' AS INT))またはサポートされない変換(たとえば、CAST (10 AS TIMESTAMP))では、SQL例外ではなく、NULLが返されます。

表6-4 PGQLでの型キャストのサポート(変換元の型および変換先の型)

変換先の型 STRINGから INTから LONGから FLOATから DOUBLEから BOOLEANから DATEから TIMESTAMPから TIMESTAMP WITH TIMEZONEから

STRINGへ

Y

Y

Y

Y

Y

Y

Y

Y

Y

INTへ

Y

Y

Y

Y

Y

Y

N

N

N

LONGへ

Y

Y

Y

Y

Y

Y

N

N

N

FLOATへ

Y

Y

Y

Y

Y

Y

N

N

N

DOUBLEへ

Y

Y

Y

Y

Y

Y

N

N

N

BOOLEANへ

Y

Y

Y

Y

Y

Y

N

N

N

DATEへ

Y

N

N

N

N

N

Y

Y

Y

TIMESTAMPへ

Y

N

N

N

N

N

Y

Y

Y

TIMESTAMP WITH TIMEZONEへ

Y

N

N

N

N

N

Y

Y

Y

型キャストを使用する問合せ例を次に示します。

SELECT e.name, CAST (e.birthDate AS STRING) AS dob
FROM MATCH (e)
WHERE e.birthDate < CAST ('1980-01-01' AS DATE)