Log Service提供單位換算函數,協助您換算資料量或時間間隔的單位。本文介紹單位換算函數的基本文法及樣本。
Log Service支援如下單位換算函數。
函數分類 | 函數名稱 | 文法 | 說明 | 支援SQL | 支援SPL |
資料量單位轉換函式 | convert_data_size(x) | 對資料量單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的資料量。傳回型別為string。例如將1024 KB換算為1 MB,1024 MB換算為1 GB。 | √ | × | |
convert_data_size(x, unit) | 對資料量單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。 | √ | × | ||
format_data_size(x, unit) | 對Byte單位進行換算,返回使用指定單位表示的資料量。傳回型別為string。 | √ | × | ||
parse_data_size(x) | 對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為decimal。 | √ | × | ||
to_data_size_B(x) | 對資料量單位進行換算,返回以Byte為單位的資料量。傳回型別為double。 | √ | × | ||
to_data_size_KB(x) | 對資料量單位進行換算,返回以KB為單位的資料量。傳回型別為double。 | √ | × | ||
to_data_size_MB(x) | 對資料量單位進行換算,返回以MB為單位的資料量。傳回型別為double。 | √ | × | ||
to_data_size_GB(x) | 對資料量單位進行換算,返回以GB為單位的資料量。傳回型別為double。 | √ | × | ||
to_data_size_TB(x) | 對資料量單位進行換算,返回以TB為單位的資料量。傳回型別為double。 | √ | × | ||
to_data_size_PB(x) | 對資料量單位進行換算,返回以PB為單位的資料量。傳回型別為double。 | √ | × | ||
時間間隔單位轉換函式 | format_duration(x) | 對以秒為單位的時間間隔進行格式化,轉換為可讀的字串類型。 | √ | × | |
parse_duration(x) | 對時間間隔進行格式化,轉換為 | √ | × | ||
to_days(x) | 對時間間隔單位進行換算,轉換為以天為單位的時間間隔。 | √ | × | ||
to_hours(x) | 對時間間隔單位進行換算,轉換為以小時為單位的時間間隔。 | √ | × | ||
to_microseconds(x) | 對時間間隔單位進行換算,轉換為以微秒為單位的時間間隔。 | √ | × | ||
to_milliseconds(x) | 對時間間隔單位進行換算,轉換為以毫秒為單位的時間間隔。 | √ | × | ||
to_minutes(x) | 對時間間隔單位進行換算,轉換為以分鐘為單位的時間間隔。 | √ | × | ||
to_most_succinct_time_unit(x) | 對時間間隔單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的時間間隔。 | √ | × | ||
to_nanoseconds(x) | 對時間間隔單位進行換算,轉換為以納秒為單位的時間間隔。 | √ | × | ||
to_seconds(x) | 對時間間隔單位進行換算,轉換為以秒為單位的時間間隔。 | √ | × |
convert_data_size函數
convert_data_size函數用於對資料量單位進行換算。
文法
對資料量單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的資料量。
convert_data_size(x)
對資料量單位進行換算,返回使用指定單位表示的資料量。
convert_data_size(x, unit)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
unit | 資料的儲存單位,取值範圍為KB、MB、GB、PB、TB、EB、ZB、YB。 |
傳回值類型
string類型。
樣本
樣本1:將1200 KB換算為其他資料單位的值。
查詢和分析語句
* | SELECT convert_data_size('1200KB')
查詢和分析結果
樣本2:body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過convert_data_size函數將欄位值換算為以KB為單位的值。
查詢和分析語句
* | select convert_data_size(format_data_size(body_bytes_sent, 'KB'))
查詢和分析結果
format_data_size函數
format_data_size函數用於對Byte單位進行換算,返回使用指定單位表示的資料量。
文法
format_data_size(x, unit)
參數說明
參數 | 說明 |
x | 以Byte為單位的資料量,參數值為bigint類型。 |
unit | 資料的儲存單位,取值範圍為KB、MB、GB、PB、TB、EB、ZB、YB。 |
傳回值類型
string類型。
樣本
樣本1:body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過format_data_size函數將欄位值換算為以KB為單位的值。
欄位範例
body_bytes_sent:4619
查詢和分析語句
* | select format_data_size(body_bytes_sent, 'KB')
查詢和分析結果
樣本2:body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過sumFunction Compute總位元組數,再通過format_data_size函數將總位元組數換算為以GB為單位的值。
欄位範例
body_bytes_sent:4619
查詢和分析語句
* | select format_data_size(sum(body_bytes_sent), 'GB')
查詢和分析結果
parse_data_size函數
parse_data_size函數用於對資料量單位進行換算,返回以Byte為單位的資料量。
文法
parse_data_size(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
decimal類型。
樣本
將1024 KB換算為以Byte為單位的值。
查詢和分析語句
*| SELECT parse_data_size('1024KB')
查詢和分析結果
to_data_size_B函數
to_data_size_B函數用於對資料量單位進行換算,返回以Byte為單位的資料量。
文法
to_data_size_B(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
將1024 KB換算為以Byte為單位的值。
查詢和分析語句
* | select to_data_size_B('1024KB')
查詢和分析結果
to_data_size_KB函數
to_data_size_KB函數用於對資料量單位進行換算,返回以KB為單位的資料量。
文法
to_data_size_KB(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過to_data_size_KB函數將欄位值換算為以KB為單位的值。
查詢和分析語句
* | select to_data_size_KB(format_data_size(body_bytes_sent, 'KB'))
查詢和分析結果
to_data_size_MB函數
to_data_size_MB函數用於對資料量單位進行換算,返回以MB為單位的資料量。
文法
to_data_size_MB(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過to_data_size_MB函數將總位元組數換算為以MB為單位的值。
查詢和分析語句
* | select to_data_size_MB(format_data_size(sum(body_bytes_sent), 'KB'))
查詢和分析結果
to_data_size_GB函數
to_data_size_GB函數用於對資料量單位進行換算,返回以GB為單位的資料量。
文法
to_data_size_GB(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過to_data_size_GB函數將總位元組數換算為以GB為單位的值。
查詢和分析語句
* | select to_data_size_GB(format_data_size(sum(body_bytes_sent), 'KB'))
查詢和分析結果
to_data_size_TB函數
to_data_size_TB函數用於對資料量單位進行換算,返回以TB為單位的資料量。
文法
to_data_size_TB(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
body_bytes_sent欄位表示發送給用戶端的位元組數,單位為Byte。通過to_data_size_TB函數將總位元組數換算為以TB為單位的值。
查詢和分析語句
* | select to_data_size_TB(format_data_size(sum(body_bytes_sent), 'KB'))
查詢和分析結果
to_data_size_PB函數
to_data_size_PB函數用於對資料量單位進行換算,返回以PB為單位的資料量。
文法
to_data_size_PB(x)
參數說明
參數 | 說明 |
x | 資料量,參數值為string類型。 |
傳回值類型
double類型。
樣本
將1048576 GB換算為以PB為單位的值。
查詢和分析語句
*| SELECT to_data_size_PB('1048576GB')
查詢和分析結果
format_duration函數
format_duration函數用於對以秒為單位的時間間隔進行格式化,轉換為可讀的字串類型。
文法
format_duration(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為double類型。 |
傳回值類型
string類型。
樣本
將235秒轉換為3 minutes, 55 seconds
格式。
查詢和分析語句
* | SELECT format_duration(235)
查詢和分析結果
parse_duration函數
parse_duration函數用於對時間間隔進行格式化,轉換為0 00:00:00.000
格式。
文法
parse_duration(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為string類型。 |
傳回值類型
interval類型。
樣本
將1340毫秒轉換為0 00:00:01.340
格式。
查詢和分析語句
* | SELECT parse_duration('1340ms')
查詢和分析結果
to_days函數
to_days函數用於對時間間隔單位進行換算,轉換為以天為單位的時間間隔。
文法
to_days(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將192848s轉換為以天為單位的時間間隔。
查詢和分析語句
*| SELECT to_days('192848s')
查詢和分析結果
to_hours函數
to_hours函數用於對時間間隔單位進行換算,轉換為以小時為單位的時間間隔。
文法
to_hours(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將1.2天轉換為以小時為單位的時間間隔。
查詢和分析語句
* | SELECT to_hours('1.2d')
查詢和分析結果
to_microseconds函數
to_microseconds函數用於對時間間隔單位進行換算,轉換為以微秒為單位的時間間隔。
文法
to_microseconds(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將3600納秒轉換為以微秒為單位的時間間隔。
查詢和分析語句
* | SELECT to_microseconds('3600ns')
查詢和分析結果
to_milliseconds函數
to_milliseconds函數用於對時間間隔單位進行換算,轉換為以毫秒為單位的時間間隔。
文法
to_milliseconds(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將1.2秒轉換為以毫秒為單位的時間間隔。
查詢和分析語句
* | SELECT to_milliseconds('1.2s')
查詢和分析結果
to_minutes函數
to_minutes函數用於對時間間隔單位進行換算,轉換為以分鐘為單位的時間間隔。
文法
to_minutes(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將1.2小時轉換為以分鐘為單位的時間間隔。
查詢和分析語句
* | SELECT to_minutes('1.2h')
查詢和分析結果
to_most_succinct_time_unit函數
to_most_succinct_time_unit函數用於對時間間隔單位進行換算,系統自動判斷最優的換算單位,返回使用最優單位表示的時間。
文法
to_most_succinct_time_unit(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
varchar類型。
樣本
將1340ms轉換為以秒為單位的時間間隔。
查詢和分析語句
* | SELECT to_most_succinct_time_unit('1340ms')
查詢和分析結果
to_nanoseconds函數
to_nanoseconds函數用於對時間間隔單位進行換算,轉換為以納秒為單位的時間間隔。
文法
to_nanoseconds(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將125毫秒轉換為以納秒為單位的時間間隔。
查詢和分析語句
* | SELECT to_nanoseconds('125ms')
查詢和分析結果
to_seconds函數
to_seconds函數用於對時間間隔單位進行換算,轉換為以秒為單位的時間間隔。
文法
to_seconds(x)
參數說明
參數 | 說明 |
x | 時間間隔,參數值為varchar類型。 |
傳回值類型
double類型。
樣本
將1340毫秒轉換為以秒為單位的時間間隔。
查詢和分析語句
* | SELECT to_seconds('1340ms')
查詢和分析結果