本文列舉的函數與運算子可以被用在 SLS 的 SQL 或 SPL 兩種語言中。
函數與運算子
您可以根據具體使用的功能、語言,在本文中查看具體的函數、運算子用法。下表中,√表示支援,×表示不支援。
SQL 是一種廣泛使用的查詢、分析語言,主要用於結構化良好資料的過濾、轉換、統計、彙總等分析情境,可以在 SLS 日誌查詢、分析功能中使用。
SPL 是一種管道式查詢、處理語言,主要用於資料的預先處理、查詢情境,可以在 SLS 的日誌查詢(Scan)、流式消費等功能中使用。
彙總函式
函數名稱 | 說明 | 支援SQL | 支援SPL |
返回x中任意一個非空的值。 | √ | × | |
計算x中的算術平均值。 | √ | × | |
返回x中所有值按位與運算(AND)的結果。 | √ | × | |
返回x中所有值按位或運算(OR)的結果。 | √ | × | |
判斷是否所有日誌都滿足條件。如果是,則返回true。 bool_and函數等同於every函數。 | √ | × | |
判斷是否存在日誌滿足條件。如果存在,則返回true。 | √ | × | |
計算x的校正和。 | √ | × | |
統計所有的日誌條數。 | √ | × | |
統計所有的日誌條數,等同於count(*)。 | √ | × | |
統計x中值不為NULL的日誌條數。 | √ | × | |
統計滿足指定條件的日誌條數。 | √ | × | |
判斷是否所有日誌都滿足條件。如果是,則返回true。 every函數等同於bool_and函數。 | √ | × | |
計算x的幾何平均數。 | √ | × | |
計算x的峰度。 | √ | × | |
返回一列Map資料的並集。 如果Map中存在相同的鍵,則返回的索引值為其中任意一個鍵的值。 | √ | × | |
查詢x中的最大值。 | √ | × | |
查詢x中最大的n個值。返回結果為數組。 | √ | × | |
查詢y為最大值時對應的x值。 | √ | × | |
查詢最大的n個y值對應的x值,返回結果為數組。 | √ | × | |
查詢x中最小值。 | √ | × | |
查詢x中最小的n個值。返回結果為數組。 | √ | × | |
查詢y為最小值時對應的x值。 | √ | × | |
查詢最小的n個y值對應的x值。返回結果為數組。 | √ | × | |
計算x的偏度。 | √ | × | |
計算x的總值。 | √ | × |
字串函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
將ASCII碼轉換為字元。 | √ | √ | |
將字元轉換為ASCII碼。 | √ | √ | |
將多個字串拼接成一個字串。 | √ | √ | |
將二進位字串解碼為UTF-8編碼格式,並使用預設字元U+FFFD替換無效的UTF-8字元。 | √ | √ | |
將二進位字串解碼為UTF-8編碼格式,並使用自訂字串替換無效的UTF-8字元。 | √ | √ | |
計算字串的長度。 | √ | √ | |
計算x和y之間的最小編輯距離。 | √ | × | |
將字串轉換為小寫形式。 | √ | √ | |
在字串的開頭填充指定字元,直到指定長度後返回結果字串。 | √ | √ | |
刪除字串開頭的空格。 | √ | √ | |
使用NFC格式將字串格式化。 | √ | × | |
返回目標子串在字串中的位置。 | √ | × | |
將字串中所匹配的字元替換為其他指定字元。 | √ | √ | |
刪除字串中匹配的字元。 | √ | √ | |
返回反向順序的字串。 | √ | √ | |
在字串的尾部填充指定字元,直到指定長度後返回結果字串。 | √ | √ | |
刪除字串中結尾的空格。 | √ | √ | |
使用指定的分隔字元拆分字串,並返回子串集合。 | √ | √ | |
通過指定的分隔字元拆分字串並使用limit限制字串拆分的個數,然後返回拆分後的子串集合。 | √ | √ | |
使用指定的分隔字元拆分字串,並返回指定位置的內容。 | √ | √ | |
使用指定的第一個分隔字元拆分字串,然後再使用指定的第二個分隔字元進行第二次拆分。 | √ | √ | |
返回目標子串在字串中的位置。與position(sub_string in x)函數等價。 | √ | √ | |
返回字串中指定位置的子串,並指定子串長度。 | √ | √ | |
返回字串中指定位置的子串。 | √ | √ | |
將字串轉換為UTF-8編碼格式。 | √ | √ | |
刪除字串中開頭和結尾的空格。 | √ | √ | |
將字串轉化為大寫形式。 | √ | √ |
日期和時間函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
返回當前日期。 | √ | × | |
返回目前時間和時區。 | √ | × | |
返回當前日期、時間和時區。 | √ | × | |
返回當前時區。 | √ | × | |
返回日期和時間運算式中的日期部分。 | √ | × | |
將timestamp類型的日期和時間運算式轉化為指定格式的日期和時間運算式。 | √ | √ | |
將日期和時間字串轉換為指定格式的timestamp類型的日期和時間運算式。 | √ | √ | |
將ISO8601格式的日期運算式轉化為date類型的日期運算式。 | √ | × | |
將ISO8601格式的日期和時間運算式轉化為timestamp類型的日期和時間運算式。 | √ | × | |
將UNIX時間戳記轉化為無時區的timestamp類型的日期和時間運算式。 | √ | √ | |
將UNIX時間戳記轉化為帶時區的timestamp類型的日期和時間運算式。 | √ | × | |
將UNIX時間戳記轉化為帶時區的timestamp類型的日期和時間運算式,其中hours和minutes為時區位移量。 | √ | × | |
返回本地時間。 | √ | × | |
返回本地日期和時間。 | √ | × | |
返回當前日期和時間。 now函數等同於current_timestamp函數。 | √ | × | |
將date類型或timestamp類型的日期和時間運算式轉換為ISO8601格式的日期和時間運算式。 | √ | × | |
將timestamp類型的日期和時間運算式轉化成UNIX時間戳記。 | √ | √ | |
提取日期和時間運算式中的天數,按月計算。 day函數等同於day_of_month函數。 | √ | × | |
提取日期和時間運算式中的天數,按月計算。 day_of_month函數等同於day函數。 | √ | × | |
提取日期和時間運算式中的天數,按周計算。 day_of_week函數等同於dow函數。 | √ | √ | |
提取日期和時間運算式中的天數,按年計算。 day_of_year函數等同於doy函數。 | √ | √ | |
提取日期和時間運算式中的天數,按周計算。 dow函數等同於day_of_week函數。 | √ | √ | |
提取日期和時間運算式中的天數,按年計算。 doy函數等同於day_of_year函數。 | √ | √ | |
通過指定的field,提取日期和時間運算式中的日期或時間部分。 | √ | × | |
提取日期和時間運算式中的小時數,按24小時制計算。 | √ | √ | |
提取日期和時間運算式中的分鐘數。 | √ | √ | |
提取日期和時間運算式中的月份。 | √ | √ | |
計算目標日期所屬的季度。 | √ | √ | |
提取日期和時間運算式中的秒數。 | √ | √ | |
計算時區的小時位移量。 | √ | × | |
計算時區的分鐘位移量。 | √ | × | |
計算目標日期是在一年中的第幾周。 week函數等同於week_of_year函數。 | √ | × | |
計算目標日期是在一年中的第幾周。 week_of_year函數等同於week函數。 | √ | × | |
提取目標日期中的年份。 | √ | √ | |
提取目標日期在ISO周日曆中的年份。 year_of_week函數等同於yow函數。 | √ | √ | |
提取目標日期在ISO周日曆中的年份。 yow函數等同於year_of_week函數。 | √ | √ | |
根據您指定的時間單位截斷日期和時間運算式,並按照毫秒、秒、分鐘,小時、日、月或年對齊。 | √ | × | |
在x上加上N個時間單位(unit)。 | √ | √ | |
返回兩個時間運算式之間的時間差值,例如計算x和y之間相差幾個時間單位(unit)。 | √ | √ | |
補全您查詢時間視窗內缺失的資料。 | √ | × |
JSON函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
判斷JSON數組中是否包含某個值。 | √ | √ | |
擷取JSON數組中某個下標對應的元素。 | √ | × | |
計算JSON數組中元素的數量。 | √ | √ | |
從JSON對象或JSON數組中提取一組JSON值(數組或對象)。 | √ | √ | |
從JSON對象或JSON數組中提取一組標量值(字串、整數或布爾值)。類似於json_extract函數。 | √ | √ | |
把JSON類型轉化成字串類型。 | √ | √ | |
把字串類型轉化成JSON類型。 | √ | √ | |
計算JSON對象或數組中元素的數量。 | √ | √ |
正則式函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
提取目標字串中符合Regex的子串,並返回所有子串的合集。 | √ | × | |
提取目標字串中符合Regex的子串,然後返回與目標擷取的群組匹配的子串合集。 | √ | × | |
提取並返回目標字串中符合Regex的第一個子串。 | √ | √ | |
提取目標字串中符合Regex的子串,然後返回與目標擷取的群組匹配的第一個子串。 | √ | √ | |
判斷目標字串是否符合Regex。 | √ | √ | |
刪除目標字串中符合Regex的子串,返回未被刪除的子串。 | √ | √ | |
替換目標字串中符合Regex的子串,返回被替換後的字串。 | √ | √ | |
使用Regex分割目標字串,返回被分割後的子串合集。 | √ | × |
同比與環比函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
對比目前時間周期內的計算結果與n秒之前時間周期內的計算結果。 | √ | × | |
對比目前時間周期內的計算結果與n1、n2、n3秒之前時間周期內的計算結果。 | √ | × | |
對比目前時間周期內的計算結果與n秒之前時間周期內的計算結果。 重要 ts_compare函數必須按照時間列進行分組(GROUP BY)。 | √ | × | |
對比目前時間周期內的計算結果與n1、n2、n3秒之前時間周期內的計算結果。 | √ | × |
數組函數和運算子
函數名稱 | 說明 | 支援SQL | 支援SPL |
返回數組中的第x個元素。 | √ | × | |
以數組形式返回x中的所有值。 | √ | × | |
刪除數組中重複的元素。 | √ | √ | |
計算兩個數組的差集。 | √ | √ | |
計算兩個數組的交集。 | √ | √ | |
使用指定的串連符將數組中的元素拼接為一個字串。如果數組中包含null元素,則null元素將被忽略。 | √ | √ | |
使用指定的串連符將數組中的元素拼接為一個字串。如果數組中包含null元素,則null元素將被替換為null_replacement。 | √ | √ | |
擷取數組中的最大值。 | √ | √ | |
擷取數組中的最小值。 | √ | √ | |
擷取指定元素的下標,下標從1開始。如果指定元素不存在,則返回0。 | √ | √ | |
刪除數組中指定的元素。 | √ | √ | |
對數組元素進行升序排序。如果有null元素,則null元素排在最後。 | √ | √ | |
對矩陣進行轉置,即提取二維數組中索引相同的元素組成一個新的二維數組。 | √ | × | |
計算兩個數組的並集。 | √ | × | |
計算數組中元素的個數。 | √ | √ | |
將多個數組拼接為一個數組。 | √ | × | |
判斷數組中是否包含指定元素。如果包含,則返回true。 | √ | × | |
返回數組中的第y個元素。 | √ | × | |
結合Lambda運算式,用於過濾數組中的元素。只返回滿足Lambda運算式的元素。 | √ | √ | |
把將二維數群組轉換為一維數組。 | √ | × | |
根據Lambda運算式中的定義,對數組中的各個元素進行相加計算,然後返回計算結果。 | √ | √ | |
對數組中的元素進行反向排列。 | √ | √ | |
通過指定的起始值返回一個數組,其元素為起始值範圍內一組連續且遞增的值。遞增間隔為預設值1。 | √ | √ | |
通過指定的起始值返回一個數組,其元素為起始值範圍內一組連續且遞增的值。自訂遞增間隔。 | √ | √ | |
對數組元素進行隨機排列。 | √ | √ | |
擷取數組的子集。 | √ | √ | |
將Lambda運算式應用到數組的每個元素中。 | √ | √ | |
將多個數組合并為一個二維數組,且各個數組中下標相同的元素組成一個新的數組。 | √ | √ | |
根據Lambda運算式中的定義將兩個數組合并為一個數組。 | √ | × |
Map映射函數和運算子
函數名稱 | 說明 | 支援SQL | 支援SPL |
擷取Map中目標鍵的值。 | √ | × | |
計算Map的大小。 | √ | × | |
擷取Map中目標鍵的值。 | √ | √ | |
對查詢和分析結果進行分組,返回結果為JSON格式。 | √ | × | |
對查詢和分析結果進行分組,返回結果為多行多列格式。 | √ | × | |
返回一個空Map。 | √ | √ | |
將兩個數組映射為一個Map。 | √ | √ | |
將x和y映射為一個Map。x為Map中的鍵,y為Map中的索引值。當y存在多個值時,隨機提取一個值作為索引值。 | √ | × | |
將多個Map合并為一個Map。 | √ | √ | |
結合Lambda運算式,用於過濾Map中的元素。 | √ | √ | |
提取Map中所有的鍵,並以數組形式返回。 | √ | √ | |
提取Map中所有鍵的值,並以數組形式返回。 | √ | √ | |
將x和y映射為一個Map。x為Map中的鍵,y為Map中的索引值,索引值為數組格式。當y存在多個值時,提取所有的值作為索引值。 | √ | × |
數學計算函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
計算x的絕對值。 | √ | √ | |
計算x的反餘弦。 | √ | √ | |
計算x的反正弦。 | √ | √ | |
計算x的反正切。 | √ | √ | |
計算x和y相除的結果的反正切。 | √ | √ | |
計算x的立方根。 | √ | √ | |
對x進行向上取整數。 ceil函數是ceiling函數的別名。 | √ | √ | |
對x進行向上取整數。 | √ | √ | |
計算x的餘弦。 | √ | √ | |
計算x的雙曲餘弦。 | √ | √ | |
計算x和y之間的餘弦相似性。 | √ | × | |
將弧度轉換為度。 | √ | √ | |
返回自然底數e的值。 | √ | √ | |
計算自然底數e的x次冪。 | √ | × | |
對x進行向下取整數。 | √ | √ | |
根據BASE編碼將x轉為y進位的數字。 | √ | √ | |
計算x的自然對數。 | √ | √ | |
返回正無窮的數值。 | √ | √ | |
判斷x是否為NaN。 | √ | √ | |
計算x以2為底的對數。 | √ | √ | |
計算x以10為底的對數。 | √ | √ | |
計算x以y為底的對數。 | √ | × | |
計算x與y相除的餘數。 | √ | √ | |
返回一個NaN值。 | √ | √ | |
返回π值,精確到小數點後15位。 | √ | √ | |
計算x的y次冪。 pow函數是power函數的別名。 | √ | √ | |
計算x的y次冪。 | √ | √ | |
將度轉換為弧度。 | √ | √ | |
返回隨機數。 | √ | √ | |
返回[0,1)之間的隨機數。 | √ | √ | |
返回[0,x)之間的隨機數。 | √ | √ | |
對x進行四捨五入取整數。 | √ | √ | |
對x進行四捨五入且保留n位小數。 | √ | √ | |
返回x的符號,通過1、0、-1表示。 | √ | × | |
計算x的正弦。 | √ | √ | |
計算x的平方根。 | √ | √ | |
計算x的正切。 | √ | √ | |
計算x的雙曲正切。 | √ | √ | |
根據BASE編碼將x轉為y進位的字串。 | √ | × | |
截斷x的小數部分。 | √ | √ | |
將一段數值範圍劃分成大小相同的多個Bucket,然後返回x所屬的Bucket。 | √ | × | |
使用數組指定Bucket的範圍,然後返回x所屬的Bucket。 | √ | × |
數學統計函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
計算x和y的相關度。計算結果範圍為[0,1]。 | √ | × | |
計算x和y的總體共變數。 | √ | × | |
計算x和y的樣本共變數。 | √ | × | |
計算x的樣本標準差。與stddev_samp函數同義。 | √ | × | |
計算x的樣本標準差。 | √ | × | |
計算x的總體標準差。 | √ | × | |
計算x的樣本方差。與var_samp函數同義。 | √ | × | |
計算x的樣本方差。 | √ | × | |
計算x的總體方差。 | √ | × | |
根據輸入焦點 | √ | × | |
根據輸入焦點 | √ | × | |
用於計算貝塔分布的累積分布函數。P(N <= v; α, β),其中α和β是貝塔分布的參數。 | √ | × | |
用於計算二項分布的累積分布函數。P(N <= v),其中x表示實驗的次數,y表示單次實驗成功的機率。 | √ | × | |
用於計算柯西分布的累積分布函數。P(N <= v; x, y),其中x表示分布峰值位置的位置參數,y是尺度參數。 | √ | × | |
用於計算卡方分布的累積分布函數。P(N <= v; k),其中k是卡方分布服從的自由度。 | √ | × | |
計算貝塔分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; α, β)的結果為p。 | √ | × | |
計算二項分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v)的結果為p。 | √ | × | |
計算柯西分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; x, y)的結果為p。 | √ | × | |
計算卡方分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; k)的結果為p。 | √ | × | |
計算拉普拉斯分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; μ, b)的結果為p。 | √ | × | |
計算常態分佈的逆累積分布函數。即求v的值,使得累積分布函數P(N < v; x, y)的結果為p。 | √ | × | |
計算泊松分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; λ)的結果為p。 | √ | × | |
計算韋布分布的逆累積分布函數。即求v的值,使得累積分布函數P(N <= v; x, y)的結果為p。 | √ | × | |
計算拉普拉斯分布的累積分布函數。P(N <= v; μ, b),其中μ 是位置參數,b 是尺度參數。 | √ | × | |
計算常態分佈的累積分布函數。P(N < v; x, y),其中x和y分別表示常態分佈的均值和標準差。 | √ | × | |
計算泊松分布的累積分布函數。P(N <= v; λ),其中λ表示隨機事件發生的平均機率。 | √ | × | |
計算韋布分布的累積分布函數。P(N <= v; x, y),其中x表示比例參數,y是形狀參數。 | √ | × |
類型轉換函式
函數名稱 | 說明 | 支援SQL | 支援SPL |
轉換x的資料類型。 使用cast函數轉換資料類型時,如果某個值轉換失敗,將終止整個查詢與分析操作。 | √ | √ | |
轉換x的資料類型。 使用try_cast函數轉換資料類型時,如果某個值轉換失敗,該值返回NULL,並跳過該值繼續處理。 說明 日誌中可能有髒資料,建議使用try_cast函數,避免因髒資料造成整個查詢與分析操作失敗。 | √ | × | |
返回x的資料類型。 | √ | × |
視窗函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
所有彙總函式都支援在視窗函數中使用。彙總函式列表請參見彙總函式。 | √ | × | |
統計視窗分區內各個值的累計分布。即計算視窗分區內值小於等於當前值的行數占視窗內總行數的比例。傳回值範圍為(0,1]。 | √ | × | |
視窗分區內值的排名。相同值擁有相同的排名,排名是連續的,例如有兩個相同值的排名為1,則下一個值的排名為2。 | √ | × | |
將視窗分區內資料按照順序分成n組。 | √ | × | |
計算視窗分區內各行的百分比排名。 | √ | × | |
視窗分區內值的排名。相同值擁有相同的排名,排名不是連續的,例如有兩個相同值的排名為1,則下一個值的排名為3。 | √ | × | |
視窗分區內值的排名。每個值擁有唯一的序號,從1開始。三個相同值的排名為1、2、3。 | √ | × | |
返回各個視窗分區內第一行的值。 | √ | × | |
返回各個視窗分區內最後一行的值。 | √ | × | |
返回視窗分區內位於當前行上方第offset行的值。如果不存在該行,則返回default_value。 | √ | × | |
返回視窗分區內位於當前行下方第offset行的值。如果不存在該行,則返回default_value。 | √ | × | |
返回視窗分區中第offset行的值。 | √ | × |
IP函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
分析目標IP地址所屬城市。 返回結果為城市的中文名稱。 | √ | × | |
分析目標IP地址所屬城市。 返回結果為城市的行政區劃代碼。 | √ | × | |
分析目標IP地址所屬城市的經緯度。此函數返回的是城市經緯度,每個城市只有一個經緯度。 | √ | × | |
分析目標IP地址所屬國家或地區。 返回結果為國家或地區的中文名稱。 | √ | × | |
分析目標IP地址所屬國家或地區。 返回結果為國家或地區的代碼。 | √ | × | |
分析目標IP地址所屬國家或地區。 返回結果為國家或地區的代碼。 | √ | × | |
判斷目標IP地址是內網地址還是外網地址。 | √ | × | |
分析目標IP地址所在位置的經緯度。 | √ | × | |
分析目標IP地址所對應的網路電訊廠商。 | √ | × | |
分析目標IP地址所屬州。 返回結果為州的中文名稱。 | √ | × | |
分析目標IP地址所屬州。 返回結果為州的行政區劃代碼。 | √ | × | |
擷取目標IP地址的首碼。 | √ | × | |
判斷目標網段是否為某網段的子網。 | √ | × | |
判斷目標IP地址是否在某網段內。 | √ | × | |
擷取IP網段中的最大IP地址。 | √ | × | |
擷取IP網段中的最小IP地址。 | √ | × | |
擷取IP網段範圍。 | √ | × | |
分析目標IPv6地址所屬城市的名稱。 | √ | × | |
分析目標IPv6地址所屬城市的行政區劃代碼。 | √ | × | |
分析目標IPv6地址所屬城市的經緯度。 | √ | × | |
分析目標IPv6地址所屬國家或地區。 | √ | × | |
分析目標IPv6地址所屬國家或地區的代碼。 | √ | × | |
判斷目標IPv6地址是內網地址還是外網地址。 | √ | × | |
分析目標IPv6地址所對應的網路電訊廠商。 | √ | × | |
分析目標IPv6地址所屬省份。 | √ | × | |
分析目標IPv6地址所屬省份的行政區劃代碼。 | √ | × |
URL函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
對URL進行編碼。 | √ | √ | |
對URL進行解碼。 | √ | √ | |
從URL中提取Fragment資訊。 | √ | √ | |
從URL中提取Host資訊。 | √ | √ | |
從URL的查詢部分中提取指定參數的值。 | √ | √ | |
從URL中提取訪問路徑資訊。 | √ | √ | |
從URL中提取連接埠資訊。 | √ | √ | |
從URL中提取協議資訊。 | √ | √ | |
從URL中提取查詢部分的資訊。 | √ | √ |
估算函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
估算x中不重複值的個數,預設存在2.3%的標準誤差。 | √ | × | |
估算xx中不重複值的個數,支援自訂標準誤差。 | √ | × | |
對x進行正序排列,返回大約處於percentage位置的x。 | √ | × | |
對x進行正序排列,返回大約處於percentage01、percentage02位置的x。 | √ | × | |
對x和權重的乘積進行正序排列,返回大約處於percentage位置的x。 | √ | × | |
對x和權重的乘積進行正序排列,返回大約處於percentage01、percentage02位置的x。 | √ | × | |
對x和權重的乘積進行正序排列,返回大約處於percentage位置的x。支援設定返回結果的準確度。 | √ | × | |
按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為JSON類型。 | √ | × | |
按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為JSON類型。支援對x設定權重。 | √ | × | |
按照bucket數量(長條圖列數),統計x的近似長條圖,返回結果為多行多列格式。 | √ | × |
二進位函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
將BASE64編碼的字串解碼為二進位類型的資料。 | √ | √ | |
使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。 | √ | × | |
將大端模式的二進位類型的資料轉化成數字。 | √ | × | |
將十六進位類型的資料轉化成二進位類型的資料。 | √ | √ | |
計算二進位類型的資料的長度。 | √ | × | |
對二進位類型的資料進行MD5編碼。 | √ | √ | |
對二進位類型的資料進行BASE64編碼。 | √ | ||
使用URL安全字元將二進位類型的資料進行BASE64編碼。 | √ | × | |
將二進位類型的資料轉化成十六進位類型的資料。 | √ | √ | |
將數字轉化為大端模式的二進位類型的資料。 | √ | × | |
對二進位類型的資料進行SHA1加密。 | √ | √ | |
對二進位類型的資料進行SHA256加密。 | √ | √ | |
對二進位類型的資料進行SHA512加密。 | √ | √ | |
對二進位類型的資料進行xxHash64加密。 | √ | √ |
位元運算函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
統計x中1的個數。 | √ | √ | |
以二進位形式對x和y進行與運算。 | √ | √ | |
以二進位形式對x的所有位進行取反運算。 | √ | √ | |
以二進位形式對x和y進行或運算。 | √ | √ | |
以二進位形式對x和y進行異或運算。 | √ | √ |
空間幾何函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
將一個空間幾何體轉變為WKT格式的文本。 | √ | × | |
返回空間幾何體的邊界。 | √ | × | |
返回距離指定空間幾何體一定距離的空間幾何體。 | √ | × | |
返回兩個空間幾何體不同點的集合。 | √ | × | |
返回空間幾何體的最小邊界框。 | √ | × | |
返回空間幾何體的外環(線段形式)。 | √ | × | |
返回兩個空間幾何體的交集點。 | √ | × | |
返回兩個空間幾何體的不同點,然後組成一個新的空間幾何體。 | √ | × | |
判斷第一個空間幾何體是否包含第二個空間幾何體(邊界可存在交集)。如果包含,則返回true。 | √ | × | |
判斷兩個空間幾何體是否存在相同的內部點。如果存在,則返回true。 | √ | × | |
判斷兩個空間幾何體是否沒有任何交集。 如果沒有,則返回true。 | √ | × | |
判斷兩個空間幾何體是否完全相同。如果是,則返回true。 | √ | × | |
判斷兩個空間幾何體的平面投影是否存在共同點。如果是,則返回true。 | √ | × | |
判斷兩個空間幾何體的維度是否相同。如果兩個空間幾何體的維度相同且不是內含項目關聯性,則返回true。 | √ | × | |
判斷兩個空間幾何體是否相關。如果是,則返回true。 | √ | × | |
判斷兩個空間幾何體是否只有邊界存在關聯,沒有共同的內部點。如果是,則返回true。 | √ | × | |
判斷第一個空間幾何體是否完全在第二個空間幾何體內部(邊界無交集)。如果是,則返回true。 | √ | × | |
使用歐幾裡得測量法計算空間幾何體在二維平面上的投影面積。 | √ | × | |
返回空間幾何實體的中心點。 | √ | × | |
返回空間幾何體的座標維度。 | √ | × | |
返回空間幾何實體的固有維度,必須小於或等於座標維度。 | √ | × | |
計算兩個空間幾何體之間的最小距離。 | √ | × | |
返回線段中的最後一個點。 | √ | × | |
判斷輸入的空間幾何體是否封閉。如果是,則返回true。 | √ | × | |
判斷輸入的空間幾何體是否為空白。如果是,則返回true。 | √ | × | |
判斷輸入的空間幾何體是否為閉合的簡單線段(環)。如果是,則返回true。 | √ | × | |
使用歐幾裡得測量法計算線段的二維投影長度。如果存在多條線段,則返回所有線段的長度之和。 | √ | × | |
返回空間幾何體中點的個數。 | √ | × | |
計算空間幾何體中內部環的數量。 | √ | × | |
返回線段中的第一個點。 | √ | × | |
返回輸入焦點的X軸座標。 | √ | × | |
返回空間幾何體的第一個最大的X軸座標。 | √ | × | |
返回空間幾何體的第一個最小的X軸座標。 | √ | × | |
返回輸入焦點的Y軸座標。 | √ | × | |
返回空間幾何體的第一個最大的Y軸座標。 | √ | × | |
返回幾何體的第一個最小的Y軸座標。 | √ | × | |
通過X座標、Y座標和縮放層級構造一個Bing圖塊。 | √ | × | |
通過四叉樹鍵構造一個Bing圖塊。 | √ | × | |
通過經緯度和縮放層級構造一個Bing圖塊。 | √ | × | |
返回目標Bing圖塊對應的X座標和Y座標。 | √ | × | |
返回目標Bing圖塊的多邊形格式。 | √ | × | |
返回目標Bing圖塊的四叉樹鍵。 | √ | × | |
返回目標Bing圖塊的縮放層級。 | √ | × |
地理函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
對緯度和經度進行geohash編碼。 | √ | × |
顏色函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色為紅色(low_color),結束顏色為綠色(high_color)。然後通過x截取其中一段ANSI橫條圖並返回。 | √ | × | |
通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色和結束顏色為自訂色彩。然後通過x截取其中一段ANSI橫條圖並返回。 | √ | × | |
將顏色字串轉換為color類型。 | √ | × | |
通過判斷x在low和high之間的佔比指定low_color和high_color的份量,然後返回處於low_color和high_color之間的一個顏色。 | √ | × | |
通過y指定low_color和high_color的份量,然後返回處於low_color和high_color之間的一個顏色。 | √ | × | |
通過顏色渲染返回結果。布林運算式為真時,返回綠色勾;否則返回紅色叉。 | √ | × | |
通過自訂的顏色渲染返回結果。 | √ | × | |
通過RGB值返回一個顏色值。 | √ | × |
HyperLogLog函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
估算x中不重複值的個數,最大標準誤差預設為0.01625。 | √ | × | |
將HyperLogLog類型的內容轉換為bigint類型。 | √ | × | |
返回一個HyperLogLog類型的空值。最大標準誤差預設為0.01625。 | √ | × | |
彙總計算所有的HyperLogLog值。 | √ | × |
比較子
運算子 | 說明 | 支援SQL | 支援SPL |
比較x和y的大小關係。如果邏輯成立,則返回true。 | √ | √ | |
x滿足所有條件時,返回true。 | √ | × | |
x滿足任意一個條件時,返回true。 | √ | × | |
x處在y和z之間時,返回true。 | √ | √ | |
(x IS DISTINCT FROM y)x不等於y時,返回true。 | √ | × | |
(x IS NOT DISTINCT FROM y)x等於y時,返回true。 | √ | × | |
匹配字串中指定的字元模式。字串區分大小寫。 | √ | √ | |
x滿足任意一個條件時,返回true。 | √ | × | |
查詢x、y中的最大值。 | √ | × | |
查詢x、y中的最小值。 | √ | × | |
(x IS NULL)x為null時,返回true。 | √ | × | |
(x IS NOT NULL)x不為null時,返回true。 | √ | × |
邏輯運算子
運算子 | 說明 | 支援SQL | 支援SPL |
x和y的值都為true時,返回結果為true。 | √ | √ | |
x和y中任意一個的值為true時,返回結果為true。 | √ | √ | |
x的值為false時,返回結果為true。 | √ | √ |
單位換算函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
對資料量單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的資料量。傳回型別為string。例如將1024 KB換算為1 MB,1024 MB換算為1 GB。 | √ | × | |
對資料量單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。 | √ | × | |
對Byte單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。 | √ | × | |
對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為decimal。 | √ | × | |
對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為double。 | √ | × | |
對資料量單位進行換算,返回以KB為單位的資料量。傳回型別為double。 | √ | × | |
對資料量單位進行換算,返回以MB為單位的資料量。傳回型別為double。 | √ | × | |
對資料量單位進行換算,返回以GB為單位的資料量。傳回型別為double。 | √ | × | |
對資料量單位進行換算,返回以TB為單位的資料量。傳回型別為double。 | √ | × | |
對資料量單位進行換算,返回以PB為單位的資料量。傳回型別為double。 | √ | × | |
對以秒為單位的時間間隔進行格式化,轉換為可讀的字串類型。 | √ | × | |
對時間間隔進行格式化,轉換為 | √ | × | |
對時間間隔單位進行換算,轉換為以天為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以小時為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以微秒為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以毫秒為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以分鐘為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以納秒為單位的時間間隔。 | √ | × | |
對時間間隔單位進行換算,轉換為以秒為單位的時間間隔。 | √ | × |
視窗漏鬥函數
函數名稱 | 說明 | 支援SQL | 支援SPL |
在滑動的時間視窗中搜尋事件鏈並計算事件鏈中發生的最大連續的事件數目。 | √ | × |
Lambda運算式
Log Service支援您在SQL分析語句和SPL語句中定義Lambda運算式,並將該運算式傳遞給指定函數,豐富函數的表達。更多資訊,請參見Lambda運算式。
條件運算式
運算式 | 說明 | 支援SQL | 支援SPL |
通過條件判斷,對資料進行歸類。 | √ | √ | |
通過條件判斷,對資料進行歸類。 | √ | √ | |
返回多個運算式中第一個非NULL的值。 | √ | √ | |
比較兩個運算式的值是否相等。如果相等,則返回null,否則返回第一個運算式的值。 | √ | × | |
捕獲異常資訊,使得系統繼續執行查詢和分析操作。 | √ | √ |
向量計算函數
運算式 | 說明 | 支援SQL | 支援SPL |
餘弦相似性的取值範圍是[-1, 1]:
| √ | × | |
計算兩個向量的內積。 | √ | × | |
計算兩個向量的歐式距離。 | √ | × | |
計算一個向量的範數。範數相當於向量的長度。 | √ | × | |
計算一個向量的所有元素之和。 | √ | × | |
計算一個向量的平均值。 | √ | × | |
計算一個向量的方差。方差代表向量元素偏離均值的平均波動幅度的平方和,描述了該向量中元素分布的離散程度。 | √ | × | |
計算一個向量的標準差,標準差是方差的正平方根。方差描述了資料點圍繞均值的波動大小。方差越大,表示資料點越分散;方差越小,表示資料點越集中。 | √ | × | |
計算兩個向量相加的結果。 結合向量加減法和向量縮放,可以做任意線性變換。 | √ | × | |
計算兩個向量相減的結果。 結合向量的加減法和向量的縮放,可以做任意線性變換。 | √ | × | |
結合向量的加減法和向量的縮放,可以做任何的線性變換。 | √ | × |