Merge pull request #46577 from jus1096/master

Add description function
This commit is contained in:
Nikolay Degterinsky 2023-02-21 12:31:35 +01:00 committed by GitHub
commit 51e9238950
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -295,6 +295,10 @@ SELECT byteSize(NULL, 1, 0.3, '');
Спит seconds секунд на каждый блок данных. Можно указать как целое число, так и число с плавающей запятой.
## sleepEachRow(seconds) {# sleepeachrowseconds}
Спит seconds секунд на каждую строку. Можно указать как целое число, так и число с плавающей запятой.
## currentDatabase() {#currentdatabase}
Возвращает имя текущей базы данных.
@ -590,6 +594,27 @@ LIMIT 10
└────────────────┴─────────┘
```
## formatReadableDecimalSize(x)
Принимает размер (число байт). Возвращает округленный размер с суффиксом (KiB, MiB и т.д.) в виде строки.
Пример:
``` sql
SELECT
arrayJoin([1, 1024, 1024*1024, 192851925]) AS filesize_bytes,
formatReadableDecimalSize(filesize_bytes) AS filesize
```
``` text
┌─filesize_bytes─┬─filesize───┐
│ 1 │ 1.00 B │
│ 1024 │ 1.02 KB │
│ 1048576 │ 1.05 MB │
│ 192851925 │ 192.85 MB │
└────────────────┴────────────┘
```
## formatReadableSize(x) {#formatreadablesizex}
Принимает размер (число байт). Возвращает округленный размер с суффиксом (KiB, MiB и т.д.) в виде строки.
@ -634,6 +659,92 @@ SELECT
└────────────────┴───────────────────┘
```
## formatReadableTimeDelta {#formatreadabletimedelta}
Принимает дельту времени в секундах. Возвращает дельту времени с (год, месяц, день, час, минута, секунда) в виде строки.
**Синтаксис**
``` sql
formatReadableTimeDelta(column[, maximum_unit])
```
**Аргументы**
- `column` — Столбец с числовой дельтой времени.
- `maximum_unit` — Опциональный параметр. Максимальная единица измерения для отображения. Допустимые значения: секунды, минуты, часы, дни, месяцы, годы.
Пример:
``` sql
SELECT
arrayJoin([100, 12345, 432546534]) AS elapsed,
formatReadableTimeDelta(elapsed) AS time_delta
```
``` text
┌────elapsed─┬─time_delta ─────────────────────────────────────────────────────┐
│ 100 │ 1 minute and 40 seconds │
│ 12345 │ 3 hours, 25 minutes and 45 seconds │
│ 432546534 │ 13 years, 8 months, 17 days, 7 hours, 48 minutes and 54 seconds │
└────────────┴─────────────────────────────────────────────────────────────────┘
```
``` sql
SELECT
arrayJoin([100, 12345, 432546534]) AS elapsed,
formatReadableTimeDelta(elapsed, 'minutes') AS time_delta
```
``` text
┌────elapsed─┬─time_delta ─────────────────────────────────────────────────────┐
│ 100 │ 1 minute and 40 seconds │
│ 12345 │ 205 minutes and 45 seconds │
│ 432546534 │ 7209108 minutes and 54 seconds │
└────────────┴─────────────────────────────────────────────────────────────────┘
```
## parseTimeDelta {#parsetimedelta}
Преобразует последовательность символов, которая напоминает нечто похожее на единицу времени.
**Синтаксис**
```sql
parseTimeDelta(timestr)
```
**Аргументы**
- `timestr` — Последовательность символов, которая напоминает нечто похожее на единицу времени.
**Возвращаемое значение**
- Число с плавающей точкой, содержащее количество секунд.
**Пример**
```sql
SELECT parseTimeDelta('11s+22min')
```
```text
┌─parseTimeDelta('11s+22min')─┐
│ 1331 │
└─────────────────────────────┘
```
```sql
SELECT parseTimeDelta('1yr2mo')
```
```text
┌─parseTimeDelta('1yr2mo')─┐
│ 36806400 │
└──────────────────────────┘
```
## least(a, b) {#leasta-b}
Возвращает наименьшее значение из a и b.
@ -657,6 +768,10 @@ SELECT
Возвращает ID сборки, сгенерированный компилятором для данного сервера ClickHouse.
Если функция вызывается в контексте распределенной таблицы, то она генерирует обычный столбец со значениями, актуальными для каждого шарда. Иначе возвращается константа.
## blockNumber {#function-blocknumber}
Возвращает порядковый номер блока данных, в котором находится строка.
## rowNumberInBlock {#function-rownumberinblock}
Возвращает порядковый номер строки в блоке данных. Для каждого блока данных нумерация начинается с 0.
@ -679,6 +794,7 @@ neighbor(column, offset[, default_value])
:::danger "Предупреждение"
Функция может получить доступ к значению в столбце соседней строки только внутри обрабатываемого в данный момент блока данных.
:::
Порядок строк, используемый при вычислении функции `neighbor`, может отличаться от порядка строк, возвращаемых пользователю.
Чтобы этого не случилось, вы можете сделать подзапрос с [ORDER BY](../../sql-reference/statements/select/order-by.md) и вызвать функцию извне подзапроса.
@ -788,6 +904,7 @@ FROM numbers(16)
:::danger "Предупреждение"
Функция может взять значение предыдущей строки только внутри текущего обработанного блока данных.
:::
Результат функции зависит от затронутых блоков данных и порядка данных в блоке.
@ -869,7 +986,7 @@ WHERE diff != 1
:::danger "Предупреждение"
События должны быть отсортированы по возрастанию времени начала. Если это требование нарушено, то функция вызывает исключение.
Каждый блок данных обрабатывается независимо. Если события из разных блоков данных накладываются по времени, они не могут быть корректно обработаны.
:::
**Синтаксис**
``` sql
@ -1560,6 +1677,7 @@ FROM numbers(10);
:::danger "Warning"
Функция обнуляет состояние для каждого нового блока.
:::
**Синтаксис**