全部產品
Search
文件中心

Simple Log Service:類型轉換函式

更新時間:Jun 30, 2024

如果您在查詢與分析資料時需要區分更細維度資料類型,您可以在查詢與分析語句中使用類型轉換函式轉換資料的資料類型。

Log Service支援如下類型轉換函式。

重要

在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status"status"表示日誌欄位status。

函數名稱

文法

說明

支援SQL

支援SPL

cast函數

cast(x as type)

轉換x的資料類型。

使用cast函數轉換資料類型時,如果某個值轉換失敗,將終止整個查詢與分析操作。

try_cast函數

try_cast(x as type)

轉換x的資料類型。

使用try_cast函數轉換資料類型時,如果某個值轉換失敗,該值返回NULL,並跳過該值繼續處理。

說明

日誌中可能有髒資料,建議使用try_cast函數,避免因髒資料造成整個查詢與分析操作失敗。

×

typeof函數

typeof(x)

返回x的資料類型。

×

cast函數

cast函數用於轉換x的資料類型。使用cast函數轉換資料類型時,如果某個值轉換失敗,將終止整個查詢與分析操作。

文法

cast(x as type)

參數說明

參數

說明

x

參數值可以為任意類型。

type

SQL資料類型,可選值為bigint、varchar、double、boolean、timestamp、decimal、array或map。

例如cast(json_parse(key) as array(varchar))

索引資料類型和SQL資料類型的映射關係,請參見附錄:資料類型映射關係

傳回值類型

由您配置的type參數決定。

樣本

SQL

將數字1轉換為boolean格式。

  • 查詢和分析語句

    * | select cast(1 as boolean)
  • 查詢和分析結果cast

SPL

將數字1轉換為boolean格式。

  • 查詢和分析語句

* | extend a = cast(1 as boolean)
  • 查詢和分析結果image.png

try_cast函數

try_cast函數用於轉換x的資料類型。使用try_cast函數轉換資料類型時,如果某個值轉換失敗,該值返回NULL,並跳過該值繼續處理。

文法

try_cast(x as type)

參數說明

參數

說明

x

參數值可以為任意類型。

type

SQL資料類型,可選值為bigint、varchar、double、boolean、timestamp、decimal、array或map。

例如try_cast(json_parse(key) as map(varchar, varchar))

索引資料類型和SQL資料類型的映射關係,請參見附錄:資料類型映射關係

傳回值類型

由您配置的type參數決定。

樣本

uid欄位值轉換為varchar類型。

  • 查詢和分析語句

    * | select try_cast(uid as varchar)
  • 查詢和分析結果try_cast

typeof函數

typeof函數用於返回x的資料類型。

文法

typeof(x)

參數說明

參數

說明

x

參數值可以為任意資料類型。

傳回值類型

varchar類型。

樣本

判斷request_time欄位值的資料類型。

  • 查詢和分析語句

    * |SELECT typeof(request_time)
  • 查詢和分析結果typeof

附錄:資料類型映射關係

索引資料類型和SQL資料類型的對應關係如下表所示:

索引的資料類型

SQL的資料類型

long

bigint

text

varchar

double

double

json

varchar