added docs

This commit is contained in:
zvonand 2023-09-24 13:01:23 +02:00 committed by Alexey Milovidov
parent 51ef0ec4bc
commit 5e5761f6b3
2 changed files with 36 additions and 9 deletions

View File

@ -660,21 +660,26 @@ SELECT
## formatReadableTimeDelta
Given a time interval (delta) in seconds, this function returns a time delta with year/month/day/hour/minute/second as string.
Given a time interval (delta) in seconds, this function returns a time delta with year/month/day/hour/minute/second/millisecond/microsecond/nanosecond as string.
**Syntax**
``` sql
formatReadableTimeDelta(column[, maximum_unit])
formatReadableTimeDelta(column[, maximum_unit, minimum_unit])
```
**Arguments**
- `column` — A column with a numeric time delta.
- `maximum_unit` — Optional. Maximum unit to show. Acceptable values `seconds`, `minutes`, `hours`, `days`, `months`, `years`.
Example:
- `maximum_unit` — Optional. Maximum unit to show.
* Acceptable values: `nanoseconds`, `microseconds`, `milliseconds`, `seconds`, `minutes`, `hours`, `days`, `months`, `years`.
* Default value: `years`.
- `minimum_unit` — Optional. Minimum unit to show. All smaller units are truncated.
* Acceptable values: `nanoseconds`, `microseconds`, `milliseconds`, `seconds`, `minutes`, `hours`, `days`, `months`, `years`.
* If explicitly specified value is bigger than `maximum_unit`, an exception will be thrown.
* Default value: `seconds` if `maximum_unit` is `seconds` or bigger, `nanoseconds` otherwise.
**Example**
``` sql
SELECT
arrayJoin([100, 12345, 432546534]) AS elapsed,
@ -703,6 +708,20 @@ SELECT
└────────────┴─────────────────────────────────────────────────────────────────┘
```
```sql
SELECT
arrayJoin([100, 12345, 432546534.00000006]) AS elapsed,
formatReadableTimeDelta(elapsed, 'minutes', 'nanoseconds') AS time_delta
```
```text
┌────────────elapsed─┬─time_delta─────────────────────────────────────┐
│ 100 │ 1 minute and 40 seconds │
│ 12345 │ 205 minutes and 45 seconds │
│ 432546534.00000006 │ 7209108 minutes, 54 seconds and 60 nanoseconds │
└────────────────────┴────────────────────────────────────────────────┘
```
## parseTimeDelta
Parse a sequence of numbers followed by something resembling a time unit.

View File

@ -659,9 +659,11 @@ SELECT
└────────────────┴───────────────────┘
```
## formatReadableTimeDelta {#formatreadabletimedelta}
Принимает дельту времени в секундах. Возвращает дельту времени с (год, месяц, день, час, минута, секунда) в виде строки.
Принимает дельту времени в секундах. Возвращает дельту времени в виде строки.
Есть возможность указать наиболее крупную единицу измерения для вывода (год, месяц, день, час, минута, секунда, милли/микро/наносекунда).
**Синтаксис**
@ -671,10 +673,16 @@ formatReadableTimeDelta(column[, maximum_unit])
**Аргументы**
- `column` — Столбец с числовой дельтой времени.
- `maximum_unit` — Опциональный параметр. Максимальная единица измерения для отображения. Допустимые значения: секунды, минуты, часы, дни, месяцы, годы.
- `column` — Столбец с числовой дельтой времени.
- `maximum_unit` — Опциональный параметр. Максимальная единица измерения для отображения.
* Допустимые значения: `nanoseconds`, `microseconds`, `milliseconds`, `seconds`, `minutes`, `hours`, `days`, `months`, `years`.
* Значение по умолчанию: `years`.
- `minimum_unit` — Опциональный параметр. Минимальная единица измерения для отображения. Более мелкие единицы будут отброшены.
* Допустимые значения: `nanoseconds`, `microseconds`, `milliseconds`, `seconds`, `minutes`, `hours`, `days`, `months`, `years`.
* Если минимальная единица задана явно и превышает максимальную единицу, будет выкинуто исключение.
* Значение по умолчанию: `seconds` если максимальная единица -- секунда или более крупный интервал, в противном случае -- `nanoseconds`.
Пример:
**Пример**
``` sql
SELECT