int()
値を 32 ビット整数に変換します。
構文
int(EXPR)
パラメーター
EXPR- 整数に変換する値または式。
説明
int() 関数は引数を 32 ビット整数(integer)に変換して返します。引数が null の場合は null を返します。変換に失敗した場合も null を返します。
サポートする入力型ごとの動作は以下の通りです。
- 数値:
intValue()を呼び出して変換します。値が 32 ビット整数の範囲(-2,147,483,648 〜 2,147,483,647)を超える場合はnullを返します。 - IPv4 アドレス: 4 バイトをビッグエンディアンの符号付き整数に変換します。
- 文字列: 10 進数としてパースします。空文字列の場合は
nullを返します。 - 配列またはリスト: 各要素に対して再帰的に変換を行います。
現在は 10 進数(基数 10)のみサポートしています。他の基数を指定するとクエリのパース時にエラーが発生します。
エラーコード
| エラーコード | 説明 |
|---|---|
| 90830 | 10 以外の基数を指定した場合 |
使用例
これらの使用例で参照する WEB_APACHE_SAMPLE テーブルを準備するには、クエリ実習用データを参照してください。
-
HTTP ステータスコードを文字列に変換した後、再び整数に変換
table limit=5 WEB_APACHE_SAMPLE | eval result = int(string(status)) | fields status, result | # result: status フィールドと同じ整数値 -
実数を整数に変換(小数点以下を切り捨て)
json "{'val': 12345.6789}" | eval result = int(val) | # result: 12345 -
IPv4 アドレスを整数に変換
json "{'val': '192.0.2.1'}" | eval result = int(ip(val)) | # result: -1073741311 -
NULL 入力
json "{'val': null}" | eval result = int(val) | # result: null
互換性
int() 関数は Sonar 4.0 以前のバージョンから提供されています。