You need to enable JavaScript to run this app.
导航
类型转换函数
最近更新时间:2024.08.22 10:57:12首次发布时间:2024.04.19 11:08:49

本文介绍日志服务支持的类型转换函数语法及常见场景的使用示例。

函数列表

说明

在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数名称

语法

说明

CAST 函数

CAST(KEY AS type)

转换 KEY 的数据类型。

TRY_CAST 函数

TRY_CAST(KEY AS type)

转换 KEY 的数据类型。

TYPEOF 函数

TYPEOF(KEY)

查询 KEY 的数据类型。

CAST 函数

CAST 函数用于转换 KEY 的数据类型。使用 CAST 函数转换数据类型时,如果某个值的数据类型转换失败,系统将终止整个检索分析操作。

函数语法

  • 语法格式

    CAST(KEY AS type)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,值为任意数据类型。

    type

    SQL 数据类型,可选值为 bigint、varchar、double、boolean、timestamp、decimal、array 或者 map。例如 CAST(JSON_PARSE(KEY) AS array(varchar))
    索引数据类型和 SQL 数据类型的映射关系,请参见数据类型映射关系

  • 返回值说明
    返回值数据类型与 type 参数一致。

函数示例

  • 场景
    child_type 字段值为 varchar 类型,通过 CAST 函数将 child_type 字段值转换为 MAP(varchar, varchar) 类型。

    说明

    本示例中的 child_type 字段的索引数据类型为 text,如果索引数据类型为 json,执行如下语句将报错。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT CAST(JSON_PARSE(child_type) AS MAP(varchar, varchar))
    
  • 检索和分析结果
    图片

TRY_CAST 函数

TRY_CAST 函数用于转换 KEY 的数据类型。使用 TRY_CAST 函数转换数据类型时,如果某个值的数据类型转换失败,系统将返回 NULL,并跳过该值继续处理。

函数语法

  • 语法格式

    TRY_CAST(KEY AS type)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,值为任意数据类型。

    type

    SQL 数据类型,可选值为 bigint、varchar、double、boolean、timestamp、decimal、array 或者 map。例如 TRY_CAST(JSON_PARSE(KEY) AS array(varchar))
    索引数据类型和 SQL 数据类型的映射关系,请参见数据类型映射关系

  • 返回值说明
    返回值数据类型与 type 参数一致。

函数示例

  • 场景
    ReqTime 字段值转换为 varchar 类型并返回该数据类型。

  • 检索和分析语句

    * | SELECT ReqTime,TYPEOF(TRY_CAST(ReqTime AS varchar))
    
  • 检索和分析结果
    图片

TYPEOF 函数

TYPEOF 函数用于查询 KEY 的数据类型。

函数语法

  • 语法格式

    TYPEOF(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值可以为任意数据类型。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    查看 Method 字段值的数据类型。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT TYPEOF(Method)
    
  • 检索和分析结果
    图片

数据类型映射关系

索引数据类型和 SQL 数据类型的对应关系如下表所示:

索引数据类型
SQL 数据类型

long

bigint

text

varchar

double

double

json

varchar