全部產品
Search
文件中心

Simple Log Service:結構化資料SQL計算指令

更新時間:May 30, 2026

本文主要介紹結構化資料SQL計算指令的用法和樣本。

extend

通過SQL運算式計算結果產生新欄位。支援的SQL函數列表,請參見SPL支援的SQL函數列表

文法

| extend <output>=<sql-expr>, ...

參數說明

參數

類型

必填

說明

output

Field

添加的目標欄位名稱。不支援多個運算式結果輸出至相同的目標欄位。

重要

如果目標欄位與輸入資料中欄位重名,則直接使用新的類型以及值將其覆蓋。

sql-expr

SQLExpr

資料處理運算式。

重要

關於null值處理,請參見SPL運算式null值處理

樣本

  • 樣本1:使用計算運算式。

    * | extend Duration = EndTime - StartTime
  • 樣本2:使用Regex。

    * | extend server_protocol_version=regexp_extract(server_protocol, '\d+')
  • 樣本3:提取JSON路徑內容,並轉換部分欄位的資料類型。

    • SPL語句

      *
      | extend a=json_extract(content, '$.body.a'), b=json_extract(content, '$.body.b')
      | extend b=cast(b as BIGINT)
    • 輸入資料

      content: '{"body": {"a": 1, "b": 2}}'
    • 輸出結果

      content: '{"body": {"a": 1, "b": 2}}'
      a: '1'
      b: 2

where

根據SQL運算式過濾資料,保留滿足SQL運算式的資料條目。where指令支援的SQL函數列表,參見SPL支援的SQL函數列表

文法

| where <sql-expr>

參數說明

參數

類型

必填

說明

sql-expr

SQLExp

SQL運算式,保留滿足此運算式的資料條目。

重要

SQL運算式中null值處理,請參見SPL運算式null值處理

樣本

  • 樣本1:根據欄位內容過濾資料條目。

    * | where userId='123'
  • 樣本2:使用匹配欄位名的Regex過濾資料條目。

    * | where regexp_like(server_protocol, '\d+')
  • 樣本3:轉換資料類型後,匹配所有服務端錯誤資料。

    * | where cast(status as BIGINT) >= 500

SPL支援的SQL函數列表

分類

說明

常用函數

彙總函式

對目標資料集進行匯總計算,產生單一統計結果。

字串函數

處理文本資料,包括尋找、替換、截取、拼接、格式化等。

日期和時間函數

對日誌中的日期和時間進行格式轉換,分組彙總等處理。

JSON函數

處理 JSON 對象,包括提取、轉換和統計。

正則式函數

模式比對與文本處理。

同比和環比函數

計算時間序列資料的相對變化。

數組函數和運算子

對數組進行增刪改查、遍曆和轉換。

Map映射函數和運算子

操作索引值對。

數學計算函數

數值計算、取整、隨機數、三角函數等。

數學統計函數

資料分布分析與數值計算。

類型轉換函式

處理資料類型間的轉換。

視窗函數

基於資料視窗的彙總或排序。

IP函數

處理 IP 位址的解析與計算。

URL函數

解析 URL 結構。

估算函數

基於資料預測或填充缺失值。

二進位函數

處理二進位類型的資料。

位元運算函數

直接操作二進位位。

空間幾何函數

處理空間幾何體。

地理函數

地理位置分析與地圖計算。

顏色函數

顏色表示與轉換。

HyperLogLog函數

對巨量資料集進行統計處理,犧牲精度以節省記憶體。

比較子

判斷參數的大小關係,適用於任意可比較的資料類型(double、bigint、varchar、timestamp和date)。

邏輯運算子

組合多個布爾條件,控制邏輯流程。

單位換算函數

換算資料量或時間間隔的單位。

視窗漏鬥函數

分析使用者行為、APP流量、產品目標轉化等資料。

Lambda運算式

在SQL分析語句和SPL語句中定義Lambda運算式,並將該運算式傳遞給指定函數,豐富函數的表達。

條件運算式

基於條件分支返回不同值。