mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-29 09:54:06 -04:00
This compresses the results and the query on the page to take up less space and make them more obviously connected.
37 lines
1.2 KiB
Text
37 lines
1.2 KiB
Text
[[esql-to_integer]]
|
|
=== `TO_INTEGER`
|
|
Converts an input value to an integer value.
|
|
|
|
The input can be a single- or multi-valued field or an expression. The input
|
|
type must be of a boolean, date, string or numeric type.
|
|
|
|
Example:
|
|
|
|
[source.merge.styled,esql]
|
|
----
|
|
include::{esql-specs}/ints.csv-spec[tag=to_int-long]
|
|
----
|
|
[%header.monospaced.styled,format=dsv,separator=|]
|
|
|===
|
|
include::{esql-specs}/ints.csv-spec[tag=to_int-long-result]
|
|
|===
|
|
|
|
Note that in this example, the last value of the multi-valued field cannot
|
|
be converted as an integer. When this happens, the result is a *null* value.
|
|
In this case a _Warning_ header is added to the response. The header will
|
|
provide information on the source of the failure:
|
|
|
|
`"Line 1:61: evaluation of [TO_INTEGER(long)] failed, treating result as null. Only first 20 failures recorded."`
|
|
|
|
A following header will contain the failure reason and the offending value:
|
|
|
|
`"org.elasticsearch.xpack.ql.QlIllegalArgumentException: [501379200000] out of [integer] range"`
|
|
|
|
|
|
If the input parameter is of a date type, its value will be interpreted as
|
|
milliseconds since the https://en.wikipedia.org/wiki/Unix_time[Unix epoch],
|
|
converted to integer.
|
|
|
|
Boolean *true* will be converted to integer *1*, *false* to *0*.
|
|
|
|
Alias: TO_INT
|