123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- [discrete]
- [[esql-date_trunc]]
- === `DATE_TRUNC`
- *Syntax*
- [source,esql]
- ----
- DATE_TRUNC(interval, date)
- ----
- *Parameters*
- `interval`::
- Interval, expressed using the <<esql-timespan-literals,timespan literal
- syntax>>. If `null`, the function returns `null`.
- `date`::
- Date expression. If `null`, the function returns `null`.
- *Description*
- Rounds down a date to the closest interval.
- *Examples*
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/date.csv-spec[tag=docsDateTrunc]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/date.csv-spec[tag=docsDateTrunc-result]
- |===
- Combine `DATE_TRUNC` with <<esql-stats-by>> to create date histograms. For
- example, the number of hires per year:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/date.csv-spec[tag=docsDateTruncHistogram]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/date.csv-spec[tag=docsDateTruncHistogram-result]
- |===
- Or an hourly error rate:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/conditional.csv-spec[tag=docsCaseHourlyErrorRate]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/conditional.csv-spec[tag=docsCaseHourlyErrorRate-result]
- |===
|