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)のみサポートしています。他の基数を指定するとクエリのパース時にエラーが発生します。

エラーコード

エラーコード説明
9083010 以外の基数を指定した場合

使用例

これらの使用例で参照する WEB_APACHE_SAMPLE テーブルを準備するには、クエリ実習用データを参照してください。

  1. HTTP ステータスコードを文字列に変換した後、再び整数に変換

    table limit=5 WEB_APACHE_SAMPLE | eval result = int(string(status)) | fields status, result
    | # result: status フィールドと同じ整数値
    
  2. 実数を整数に変換(小数点以下を切り捨て)

    json "{'val': 12345.6789}" | eval result = int(val)
    | # result: 12345
    
  3. IPv4 アドレスを整数に変換

    json "{'val': '192.0.2.1'}" | eval result = int(ip(val))
    | # result: -1073741311
    
  4. NULL 入力

    json "{'val': null}" | eval result = int(val)
    | # result: null
    

互換性

int() 関数は Sonar 4.0 以前のバージョンから提供されています。