123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- [discrete]
- [[esql-substring]]
- === `SUBSTRING`
- *Syntax*
- [.text-center]
- image::esql/functions/signature/substring.svg[Embedded,opts=inline]
- *Parameters*
- `str`::
- String expression. If `null`, the function returns `null`.
- `start`::
- Start position.
- `length`::
- Length of the substring from the start position. Optional; if omitted, all
- positions after `start` are returned.
- *Description*
- Returns a substring of a string, specified by a start position and an optional
- length.
- *Supported types*
- include::types/substring.asciidoc[]
- *Examples*
- This example returns the first three characters of every last name:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=substring]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/docs.csv-spec[tag=substring-result]
- |===
- A negative start position is interpreted as being relative to the end of the
- string. This example returns the last three characters of of every last name:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=substringEnd]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/docs.csv-spec[tag=substringEnd-result]
- |===
- If length is omitted, substring returns the remainder of the string. This
- example returns all characters except for the first:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=substringRemainder]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/docs.csv-spec[tag=substringRemainder-result]
- |===
|