文档

TRY_CAST函数

更新时间:

TRY_CAST函数是一种数据类型转换函数,用于尝试将TEXT类型的数据转换成目标数据类型,当尝试转换的数据不符合目标数据类型约束时,TRY_CAST函数不会抛出异常,而是自动将异常数据转换为NULL值。本文为您介绍在Hologres中如何使用TRY_CAST函数。

使用限制

使用TRY_CAST函数要求Hologres实例版本必须为V2.2,若您的实例为V2.1或以下版本,可联系Hologres技术支持升级实例。

使用语法

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

目标数据类型。

说明

如果待转换列数据不支持被转换为目标数据类型,则返回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)
  • 本页导读 (1)