日志服务 类型转换函数

如果你在查询与分析数据时,需要区分更细维度的数据类型,可以以在查询与分析语句中使用类型转换函数转换数据的数据类型。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

这篇说说类型转换函数的基本语法及示例。

函数名称 语法 说明
cast 函数 cast(x as type) 转换 x 的数据类型。使用 cast 函数转换数据类型时,如果某个值转换失败,将终止整个查询与分析操作。
try_cast 函数 try_cast(x as type) 转换 x 的数据类型。使用 try_cast 函数转换数据类型时,如果某个值转换失败,该值返回 NULL,并跳过该值继续处理。
typeof 函数 typeof(x) 返回 x 的数据类型。

注意:说明:

注意:日志中可能有脏数据时,建议使用 try_cast 函数,避免因脏数据造成整个查询与分析操作失败。

一、cast 函数

cast 函数用于转换 x 的数据类型。使用 cast 函数转换数据类型时,如果某个值转换失败,将终止整个查询与分析操作。

二、语法

cast(x as type)

三、参数说明

参数 说明
x 参数值可以为任意类型。
type SQL 数据类型,可选值为 bigint、varchar、double、boolean、timestamp、decimal、array 或 map。索引数据类型和 SQL 数据类型的映射关系,请参见 附录:数据类型映射关系。

注意:说明:

四、返回值类型

由你配置的 type 参数决定。

五、示例

1. 将数值0.01转换为 bigint 格式。

* | select cast(0.01 as bigint)

2. 将日志服务附带的日志采集时间__TIMESTAMP__转换为 TIMESTAMP 类型。

* | select cast(__TIMESTAMP__ as timestamp)

六、try_cast 函数

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

七、语法

try_cast(x as type)

八、参数说明

参数 说明
x 参数值可以为任意类型。
type SQL 数据类型,可选值为 bigint、varchar、double、boolean、timestamp、decimal、array 或 map。索引数据类型和 SQL 数据类型的映射关系,请参见 附录:数据类型映射关系。

九、返回值类型

由你配置的 type 参数决定。

十、示例

将 remote_user 字段值转换为 varchar 格式。

* | select try_cast(remote_user as varchar)

十一、附录:数据类型映射关系

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

索引的数据类型 SQL 的数据类型
long bigint
text varchar
double double
json varchar
赞 (0)
上一篇 4天前
下一篇 4天前