ES|QL SUBSTRING function
string- String expression. If
null, the function returnsnull. start- Start position.
length-
Length of the substring from the start position. Optional; if omitted, all positions after
startare returned.
Returns a substring of a string, specified by a start position and an optional length.
| string | start | length | result |
|---|---|---|---|
| keyword | integer | integer | keyword |
| text | integer | integer | keyword |
This example returns the first three characters of every last name:
FROM employees
| KEEP last_name
| EVAL ln_sub = SUBSTRING(last_name, 1, 3)
| last_name:keyword | ln_sub:keyword |
|---|---|
| Awdeh | Awd |
| Azuma | Azu |
| Baek | Bae |
| Bamford | Bam |
| Bernatsky | Ber |
A negative start position is interpreted as being relative to the end of the string. This example returns the last three characters of every last name:
FROM employees
| KEEP last_name
| EVAL ln_sub = SUBSTRING(last_name, -3, 3)
| last_name:keyword | ln_sub:keyword |
|---|---|
| Awdeh | deh |
| Azuma | uma |
| Baek | aek |
| Bamford | ord |
| Bernatsky | sky |
If length is omitted, substring returns the remainder of the string. This example returns all characters except for the first:
FROM employees
| KEEP last_name
| EVAL ln_sub = SUBSTRING(last_name, 2)
| last_name:keyword | ln_sub:keyword |
|---|---|
| Awdeh | wdeh |
| Azuma | zuma |
| Baek | aek |
| Bamford | amford |
| Bernatsky | ernatsky |