TRY_CAST函數是一種資料類型轉換函式,用於嘗試將TEXT類型的資料轉換成目標資料類型,當嘗試轉換的資料不符合目標資料類型約束時,TRY_CAST函數不會拋出異常,而是自動將異常資料轉換為NULL值。
使用限制
使用TRY_CAST函數要求Hologres執行個體版本必須為V2.2,若您的執行個體為V2.1或以下版本,可聯絡Hologres支援人員升級執行個體。
使用文法
TRY_CAST( <source_string_expr> AS <target_data_type> )
參數說明
參數名詞 | 資料類型 | 說明 |
source_string_expr | TEXT | 待轉換列。 |
target_data_type |
說明 僅Hologres V3.0及以上版本支援DATE、TIMESTAMP、TIMESTAMPTZ類型。 | 目標資料類型。 說明 如果待轉換列資料不支援被轉換為目標資料類型,則返回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)