TRY_CAST函數是一種資料類型轉換函式,用於嘗試將TEXT類型的資料轉換成目標資料類型,當嘗試轉換的資料不符合目標資料類型約束時,TRY_CAST函數不會拋出異常,而是自動將異常資料轉換為NULL值。
使用限制
僅Hologres V2.2及以上版本支援TRY_CAST函數。
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
說明僅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)