すべてのプロダクト
Search
ドキュメントセンター

Hologres:データ型変換関数

最終更新日:Jan 11, 2025

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 が返されます。

    1. 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');
    2. 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)