TRY_CAST 関数は、TEXT 型のデータを別のデータ型に変換するために使用します。データが目的のデータ型に変換できない場合、TRY_CAST 関数はエラーメッセージを返さず、NULL を返します。
説明
TRY_CAST 関数に加えて、Hologres は他のデータ型変換関数をサポートしています。詳細については、「日付と時刻の関数」をご参照ください。
制限事項
TRY_CAST 関数は、Hologres V2.2 以降でのみサポートされています。
TRY_CAST
構文
TRY_CAST( <source_string_expr> AS <target_data_type> )次の表に、上記の構文のパラメーターを示します。
パラメーター
データ型
説明
source_string_expr
TEXT
データ型を変換する列。
target_data_type
INTEGER、SMALLINT、および BIGINT
REAL および DOUBLE PRECISION
BOOLEAN
DECIMAL
JSONB
DATE
TIMESTAMP
TIMESTAMPTZ
説明DATE、TIMESTAMP、および TIMESTAMPTZ データ型は、Hologres V3.0 以降でのみサポートされています。
データを変換するデータ型。
説明指定された列の値を指定されたデータ型に変換できない場合は、NULL が返されます。
例
try_cast_testという名前のテーブルを作成し、テストデータをテーブルに書き込みます。-- try_cast_test という名前のテーブルを作成します。 CREATE TABLE IF NOT EXISTS try_cast_test ( key int, value text ); -- テストデータをテーブルに書き込みます。 INSERT INTO try_cast_test VALUES (1, '1'), (2, 'abc');TRY_CAST関数を使用して、TEXT 型のデータを INT 型に変換します。-- value 列の TEXT 型のデータを INT 型に変換し、変換されたデータを value_int 列に表示します。 SELECT key, value, TRY_CAST (value AS INT) as value_int FROM try_cast_test;次の結果が返されます。
value列のデータ abc は INT 型に変換できません。TRY_CAST関数は NULL を返します。.key | value | value_int -----+-------+----------- 1|1 | 1 2|abc |\N (2 rows)