SQL函數
本文列舉的函數與運算符可以被用在 SLS 的 SQL 或 SPL 兩種語言中。
聚合函數
函數名稱 | 說明 | 支持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數組中提取boolean值。 | √ | × | |
從JSON對象或JSON數組中提取bigint值。 | √ | × | |
從JSON對象或JSON數組中提取double值。 | √ | × | |
把JSON類型轉換為字符串類型。 | √ | √ | |
把字符串類型轉換為JSON類型。 | √ | √ | |
計算JSON對象或數組中元素的數量。 | √ | √ |
正則式函數
函數名稱 | 說明 | 支持SQL | 支持SPL |
提取目標字符串中符合正則表達式的子串,并返回所有子串的集合。 | √ | × | |
提取目標字符串中符合正則表達式的子串,然后返回與目標捕獲組匹配的子串集合。 | √ | × | |
提取并返回目標字符串中符合正則表達式的第一個子串。 | √ | √ | |
提取目標字符串中符合正則表達式的子串,然后返回與目標捕獲組匹配的第一個子串。 | √ | √ | |
提取目標字符串中首個符合正則表達式的子串,并將其轉換為boolean類型。僅當該子串為"true"或"false"(不區分大小寫)時轉換成功,否則返回 | √ | × | |
提取目標字符串中符合正則表達式的子串,返回與指定捕獲組匹配的子串,并將其轉換為boolean類型。只有當子串嚴為"true"或"false"(不區分大小寫)時,轉換才成功;否則,返回 | √ | × | |
提取并返回目標字符串中符合正則表達式的子串,并轉換成bigint類型,轉換失敗返回 | √ | × | |
提取目標字符串中符合正則表達式的子串,然后返回與目標捕獲組匹配的子串,并轉換成bigint類型,轉換失敗返回 | √ | × | |
提取并返回目標字符串中符合正則表達式的子串,并轉換成double類型,轉換失敗返回 | √ | × | |
提取目標字符串中符合正則表達式的子串,返回與目標捕獲組匹配的子串,并轉換成bigint類型,轉換失敗返回 | √ | × | |
判斷目標字符串是否符合正則表達式。 | √ | √ | |
刪除目標字符串中符合正則表達式的子串,返回未被刪除的子串。 | √ | √ | |
替換目標字符串中符合正則表達式的子串,返回被替換后的字符串。 | √ | √ | |
使用正則表達式分割目標字符串,返回被分割后的子串集合。 | √ | × |
同比與環比函數
函數名稱 | 說明 | 支持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表達式
日志服務支持您在SQL分析語句和SPL語句中定義Lambda表達式,并將該表達式傳遞給指定函數,豐富函數的表達。更多信息,請參見Lambda表達式。
條件表達式
表達式 | 說明 | 支持SQL | 支持SPL |
通過條件判斷,對數據進行歸類。 | √ | √ | |
通過條件判斷,對數據進行歸類。 | √ | √ | |
返回多個表達式中第一個非NULL的值。 | √ | √ | |
比較兩個表達式的值是否相等。如果相等,則返回null,否則返回第一個表達式的值。 | √ | × | |
捕獲異常信息,使得系統繼續執行查詢和分析操作。 | √ | √ |
向量計算函數
表達式 | 說明 | 支持SQL | 支持SPL |
余弦相似度的取值范圍是[-1, 1]:
| √ | × | |
計算兩個向量的內積。 | √ | × | |
計算兩個向量的歐氏距離。 | √ | × | |
計算一個向量的范數。范數相當于向量的長度。 | √ | × | |
計算一個向量的所有元素之和。 | √ | × | |
計算一個向量的平均值。 | √ | × | |
計算一個向量的方差。方差代表向量元素偏離均值的平均波動幅度的平方和,描述了該向量中元素分布的離散程度。 | √ | × | |
計算一個向量的標準差,標準差是方差的正平方根。方差描述了數據點圍繞均值的波動大小。方差越大,表示數據點越分散;方差越小,表示數據點越集中。 | √ | × | |
計算兩個向量相加的結果。 結合向量加減法和向量縮放,可以做任意線性變換。 | √ | × | |
計算兩個向量相減的結果。 結合向量的加減法和向量的縮放,可以做任意線性變換。 | √ | × | |
結合向量的加減法和向量的縮放,可以做任何的線性變換。 | √ | × |