Simple Log Service (SLS) は、データサイズと時間間隔の単位を変換するための関数を提供します。
Log Service (SLS) には、以下の単位変換関数があります。
分析文で文字列を使用する場合は、文字列を一重引用符 ('') で囲む必要があります。囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。たとえば、 'status' は「status」という文字列を示し、status または "status" は「status」というフィールドを示します。
|
カテゴリ |
関数 |
構文 |
説明 |
SQL |
SPL |
|
データサイズ変換関数 |
convert_data_size(x) |
データサイズを、人が読みやすい最適な単位に自動的に変換します。たとえば、1024 KB を 1 MB に、1024 MB を 1 GB に変換します。文字列を返します。 |
√ |
× |
|
|
convert_data_size(x, unit) |
データサイズを指定の単位に変換します。文字列を返します。 |
√ |
× |
||
|
format_data_size(x, unit) |
バイト単位のデータサイズを、指定の単位の文字列にフォーマットします。文字列を返します。 |
√ |
× |
||
|
parse_data_size(x) |
データサイズを表す文字列をパースし、バイト単位の値を返します。小数を返します。 |
√ |
× |
||
|
to_data_size_B(x) |
データサイズをバイト単位の値に変換します。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 関数 |
to_days(x) |
時間間隔を日単位の値に変換します。double を返します。 |
√ |
× |
|
|
to_hours 関数 |
to_hours(x) |
時間間隔を時間単位の値に変換します。double を返します。 |
√ |
× |
|
|
to_microseconds(x) |
時間間隔をマイクロ秒単位の値に変換します。double を返します。 |
√ |
× |
||
|
to_milliseconds(x) |
時間間隔をミリ秒単位の値に変換します。double を返します。 |
√ |
× |
||
|
to_minutes 関数 |
to_minutes(x) |
時間間隔を分単位の値に変換します。double を返します。 |
√ |
× |
|
|
to_most_succinct_time_unit(x) |
時間間隔を、人が読みやすい最も簡潔な単位に自動的に変換します。文字列を返します。 |
√ |
× |
||
|
to_nanoseconds(x) |
時間間隔をナノ秒単位の値に変換します。double を返します。 |
√ |
× |
||
|
to_seconds 関数 |
to_seconds(x) |
時間間隔を秒単位の値に変換します。double を返します。 |
√ |
× |
convert_data_size 関数
データサイズを別の単位に変換します。自動的に最適な単位に変換するか、指定の単位に変換します。
構文
-
データサイズを最適な単位に変換します。単位はシステムが自動的に決定します。
convert_data_size(x) -
データサイズを指定された単位に変換します。
convert_data_size(x, unit)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。文字列である必要があります。 |
|
unit |
ターゲット単位。有効な値:KB、MB、GB、TB、PB、EB、ZB、YB。 |
戻り値のデータ型
文字列を返します。
例
-
例 1:1200 KB を別の単位に変換
-
クエリと分析文
* | SELECT convert_data_size('1200KB') -
結果は
1.17MBです。
-
-
例 2:body_bytes_sent フィールドは、クライアントに送信されたバイト数を表します。この例では、フィールドの値を最適な単位に変換します。
-
クエリと分析文
* | select convert_data_size(format_data_size(body_bytes_sent, 'KB')) -
_col0カラムには、1.74 KB、11.38 KB、4.12 KB、1.19 KB などの変換されたデータサイズが表示されます。このクエリは、まずformat_data_sizeを使用してbody_bytes_sentの値を KB 単位の文字列に変換し、次にconvert_data_sizeで処理します。
-
format_data_size 関数
バイト単位の値を、指定した単位の文字列にフォーマットします。
構文
format_data_size(x, unit)
パラメーター
|
パラメーター |
説明 |
|
x |
バイト単位のデータサイズ。 bigint 型である必要があります。 |
|
unit |
ターゲット単位。有効な値: KB、MB、GB、TB、PB、EB、ZB、YB。 |
戻り値のデータ型
文字列を返します。
例
-
例 1: body_bytes_sent フィールドは、クライアントに送信したバイト数を表します。この例では、フィールドの値をキロバイト (KB) に変換します。
-
サンプルフィールド:
body_bytes_sent:4619 -
クエリと分析文:
* | select format_data_size(body_bytes_sent, 'KB') -
クエリと分析結果の
_col0カラムには、7.33 KB、2.19 KB、4.16 KB、4.84 KB などの値が含まれます。
-
-
例 2: この例では、body_bytes_sent フィールドの合計を計算し、その合計をギガバイト (GB) に変換します。
-
サンプルフィールド:
body_bytes_sent:4619 -
クエリと分析文:
* | select format_data_size(sum(body_bytes_sent), 'GB') -
_col0カラムは 0.73 GB を返します。これはbody_bytes_sentフィールド値の合計をフォーマットした値です。
-
parse_data_size
データサイズ文字列を解析し、バイト単位の値を返します。
構文
parse_data_size(x)
パラメーター
|
パラメーター |
説明 |
|
x |
解析するデータサイズ。文字列である必要があります。 |
戻り値のデータ型
decimal 型の値を返します。
例
1024 KB をバイト単位の値に変換します。
-
クエリ文
*| SELECT parse_data_size('1024KB') -
クエリは
1048576を返します。これは 1024 KB のバイト単位の値です。
to_data_size_B 関数
データサイズをバイトに変換します。
構文
to_data_size_B(x)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。このパラメーターは文字列である必要があります。 |
戻り値のデータ型
double 値を返します。
例
1024 KB をバイトに変換します。
-
クエリと分析文
* | select to_data_size_B('1024KB') -
クエリと分析結果は
1048576.0です。これは 1024 KB をバイトに換算した値です。
to_data_size_KB
データサイズをキロバイト (KB) に変換します。
構文
to_data_size_KB(x)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。この値は |
戻り値のデータ型
戻り値は double 型です。
例
body_bytes_sent フィールドは、クライアントに送信されたバイト数を表します。この例では、フィールドの値を KB に変換します。
-
クエリと分析文
* | select to_data_size_KB(format_data_size(body_bytes_sent, 'KB')) -
クエリと分析結果の
_col0列には、3.52、4.25、3.2、1.69 の値が含まれます。
to_data_size_MB 関数
データサイズをメガバイト (MB) に変換します。
構文
to_data_size_MB(x)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。文字列型である必要があります。 |
戻り値のデータ型
この関数は double 型の値を返します。
例
body_bytes_sent フィールドは、クライアントに送信されたバイト数を表します。この例では、合計をメガバイト (MB) に変換します。
-
クエリと分析文
* | select to_data_size_MB(format_data_size(sum(body_bytes_sent), 'KB')) -
クエリは
814.49を返します。この値は、body_bytes_sentの合計をキロバイト (KB) にフォーマットし、それをメガバイト (MB) に変換したものです。
to_data_size_GB 関数
データサイズをギガバイト (GB) に変換します。
構文
to_data_size_GB(x)
パラメーター
|
パラメーター |
説明 |
|
x |
変換するデータサイズを指定します。値は文字列型である必要があります。 |
戻り値のデータ型
double 値を返します。
例
body_bytes_sent フィールドは、クライアントに送信されたバイト数を表します。この例では、合計をギガバイト (GB) に変換します。
-
クエリと分析文
* | select to_data_size_GB(format_data_size(sum(body_bytes_sent), 'KB')) -
このクエリは
0.79を返します。この値は、送信された合計バイト数をギガバイト (GB) で表したものです。
to_data_size_TB 関数
データサイズをテラバイト (TB) に変換します。
構文
to_data_size_TB(x)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。文字列として指定します。 |
戻り値のデータ型
double 値を返します。
例
body_bytes_sent フィールドは、クライアントに送信されたバイト数を表します。この例では、合計をテラバイト (TB) に変換します。
-
クエリ文
* | select to_data_size_TB(format_data_size(sum(body_bytes_sent), 'KB')) -
クエリは、
_col0という単一の列を返し、その値0.01は、body_bytes_sentの合計をテラバイト (TB) で表します。
to_data_size_PB 関数
データサイズをペタバイト (PB) に変換します。
構文
to_data_size_PB(x)
パラメーター
|
パラメーター |
説明 |
|
x |
データサイズ。値は文字列である必要があります。 |
戻り値のデータ型
double を返します。
例
1,048,576 GB をペタバイト (PB) に変換します。
-
クエリと分析文
*| SELECT to_data_size_PB('1048576GB') -
クエリと分析結果は
1.0を返します。これは、1,048,576 GB が 1.0 PB に等しいことを示します。
format_duration 関数
秒単位の時間間隔を人間が判読できる文字列にフォーマットします。
構文
format_duration(x)
パラメーター
|
パラメーター |
説明 |
|
x |
フォーマットする時間間隔。値は double 型である必要があります。 |
戻り値のデータ型
フォーマットされた時間間隔を文字列として返します。
例
235秒を 3 minutes, 55 seconds としてフォーマットします。
-
クエリ文
* | SELECT format_duration(235) -
_col0 列は
3 minutes, 55 secondsを返します。
parse_duration
時間間隔文字列を 0 00:00:00.000 フォーマットに解析します。
構文
parse_duration(x)
パラメーター
|
パラメーター |
説明 |
|
x |
解析する時間間隔。値は文字列である必要があります。 |
戻り値のデータ型
インターバル 型の値を返します。
例
1,340ミリ秒を 0 00:00:01.340 フォーマットに変換します。
-
クエリ文
* | SELECT parse_duration('1340ms') -
クエリは
0 00:00:01.340を返します。これは、標準時間間隔フォーマットにおける 1,340ミリ秒を表します。
to_days 関数
時間間隔を日に変換します。
構文
to_days(x)
パラメーター
|
パラメーター |
説明 |
|
x |
時間間隔。このパラメーターは varchar である必要があります。 |
戻り値のデータ型
double 値。
例
192848s を日に変換します。
-
クエリ文
*| SELECT to_days('192848s') -
_col0列は2を返します。これは、192848 秒を日数に変換し、その整数部分を取得した結果です。
to_hours 関数
時間間隔を時間に変換します。
構文
to_hours(x)
パラメーター
|
パラメーター |
説明 |
|
x |
変換する時間間隔。varchar 型である必要があります。 |
戻り値のデータ型
double を返します。
例
1.2 日の時間間隔を時間に変換します。
-
クエリと分析文
* | SELECT to_hours('1.2d') -
クエリと分析結果の値は
28.8です。
to_microseconds 関数
時間間隔をマイクロ秒に変換します。
構文
to_microseconds(x)
パラメーター
|
パラメーター |
説明 |
|
x |
varchar 型の時間間隔。 |
戻り値のデータ型
double 型を返します。
例
3600 ナノ秒をマイクロ秒に変換します。
-
クエリと分析文
* | SELECT to_microseconds('3600ns') -
クエリと分析結果として、
_col0列に3.6が返されます。
to_milliseconds
時間間隔をミリ秒に変換します。
構文
to_milliseconds(x)
パラメーター
|
パラメーター |
説明 |
|
x |
時間間隔。データ型は varchar である必要があります。 |
戻り値のデータ型
double を返します。
例
1.2 秒をミリ秒に変換します。
-
クエリと分析文:
* | SELECT to_milliseconds('1.2s') -
クエリと分析結果:
_col0列は値1200を返します。つまり、1.2 秒は 1,200 ミリ秒です。
to_minutes 関数
時間間隔を分に変換します。
構文
to_minutes(x)
パラメーター
|
パラメーター |
説明 |
|
x |
変換対象の時間間隔。このパラメーターは varchar 型である必要があります。 |
戻り値のデータ型
戻り値は double です。
例
1.2 時間を分に変換します。
-
クエリと分析文
* | SELECT to_minutes('1.2h') -
この文は
72を返します。
to_most_succinct_time_unit
時間間隔を最も簡潔な単位に自動的に変換します。
構文
to_most_succinct_time_unit(x)
パラメーター
|
パラメーター |
説明 |
|
x |
時間間隔を指定します。このパラメーターは varchar 型である必要があります。 |
戻り値のデータ型
戻り値は varchar 型です。
例
1340 ms を秒単位の時間間隔に変換します。
-
クエリと分析文:
* | SELECT to_most_succinct_time_unit('1340ms') -
クエリと分析結果:
1.34s
to_nanoseconds 関数
時間間隔をナノ秒に変換します。
構文
to_nanoseconds(x)
パラメーター
|
パラメーター |
説明 |
|
x |
変換する時間間隔。値は varchar 型である必要があります。 |
戻り値のデータ型
double 型の値を返します。
例
125 ミリ秒をナノ秒に変換します。
-
クエリ文
* | SELECT to_nanoseconds('125ms') -
クエリは
125000000.0を返します。
to_seconds 関数
時間間隔を秒に変換します。
構文
to_seconds(x)
パラメーター
|
パラメーター |
説明 |
|
x |
変換する時間間隔を指定します。このパラメーターは varchar です。 |
戻り値のデータ型
戻り値は double です。
例
1340 ミリ秒を秒に変換します。
-
クエリ文
* | SELECT to_seconds('1340ms') -
クエリと分析の結果は
1.34です。