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)