long()
値を64ビット整数に変換します。
構文
long(EXPR)
パラメーター
EXPR- 64ビット整数に変換する値または式。
説明
long()関数は引数を64ビット整数(long)に変換して返します。引数がnullの場合はnullを返します。変換に失敗した場合もnullを返します。
サポートする入力型別の動作は以下のとおりです。
- 数値:
longValue()を呼び出して変換します。値が64ビット整数の範囲を超えるfloatやdoubleの場合はnullを返します。 - IPv4アドレス: 4バイトをunsigned整数に変換します。たとえば
192.0.2.1は3221225985として返されます。 - 文字列: 10進数としてパースします。空文字列の場合は
nullを返します。 - 配列またはリスト: 各要素に対して再帰的に変換を実行します。
現在は10進数(基数10)のみサポートしています。他の基数を指定するとクエリのパース時にエラーが発生します。
エラーコード
| エラーコード | 説明 |
|---|---|
| 90840 | 10以外の基数を指定した場合 |
使用例
これらの使用例で参照するWEB_APACHE_SAMPLEテーブルを準備するには、クエリ実習用データを参照してください。
-
接続元IPアドレス(
src_ip)を64ビット整数に変換するtable limit=5 WEB_APACHE_SAMPLE | eval result = long(src_ip) | fields src_ip, result | # result: IPアドレスをunsigned整数に変換した値 -
レスポンスサイズ(
bytes)を64ビット整数に変換するtable limit=5 WEB_APACHE_SAMPLE | eval result = long(bytes) | fields bytes, result | # result: bytesフィールドと同じ64ビット整数値 -
変換できない文字列
json "{'val': 'invalid'}" | eval result = long(val) | # result: null -
NULL入力
json "{'val': null}" | eval result = long(val) | # result: null
互換性
long()関数はSonar 4.0以前のバージョンから提供されています。