Fixes after DOCSUP

This commit is contained in:
Sergei Bocharov 2019-10-24 18:17:24 +03:00
parent 80fee23416
commit 4ee2748271
2 changed files with 61 additions and 6 deletions

View File

@ -311,14 +311,14 @@ SELECT
└──────────────────────────┴───────────────────────────────┘
```
## dateDiff {#date-diff}
## dateDiff {#datediff}
Returns the difference between two time values.
**Syntax**
```sql
dateDiff('unit', t1, t2, [timezone]);
dateDiff('unit', startdate, enddate, [timezone])
```
**Parameters**
@ -338,13 +338,15 @@ dateDiff('unit', t1, t2, [timezone]);
|quarter |
|year |
- `t1` — The first time value to compare. [Date](../../data_types/date.md) or [DateTime](../../data_types/datetime.md).
- `t2` — The second time value to compare. [Date](../../data_types/date.md) or [DateTime](../../data_types/datetime.md).
- `timezone` — Optional parameter. If specified, it is applied to both `t1` and `t2`. If not specified, timezones of `t1` and `t2` are used. If they are not the same, the result is unspecified. [Time Zone](../../data_types/datetime.md#time-zones).
- `startdate` — The first time value to compare. [Date](../../data_types/date.md) or [DateTime](../../data_types/datetime.md).
- `enddate` — The second time value to compare. [Date](../../data_types/date.md) or [DateTime](../../data_types/datetime.md).
- `timezone` — Optional parameter. If specified, it is applied to both `startdate` and `enddate`. If not specified, timezones of `startdate` and `enddate` are used. If they are not the same, the result is unspecified. [Time Zone](../../data_types/datetime.md#time-zones).
**Returned value**
Difference between `t1` and `t2` expressed in `unit`.
Difference between `startdate` and `enddate` expressed in `unit`.
Type: `int`.
**Example**

View File

@ -125,6 +125,59 @@ SELECT
Принимает ноль аргументов и возвращает вчерашнюю дату на один из моментов выполнения запроса.
Делает то же самое, что today() - 1.
## dateDiff {#datediff}
Вычисляет разницу между двумя значениями дат с временем.
**Синтаксис**
```sql
dateDiff('unit', startdate, enddate, [timezone])
```
**Параметры**
- `unit` — Единица измерения времени, в которой будет вычислена разница между `startdate` и `enddate`. [String](../syntax.md#syntax-string-literal).
Поддерживаемые значения:
| unit |
| ------ |
|second |
|minute |
|hour |
|day |
|week |
|month |
|quarter |
|year |
- `startdate` — Первая дата. [Date](../../data_types/date.md) или [DateTime](../../data_types/datetime.md).
- `enddate` — Вторая дата. [Date](../../data_types/date.md) или [DateTime](../../data_types/datetime.md).
- `timezone` — Опциональный параметр. Если определен, применяется к обоим значениям: `startdate` и `enddate`. Если не определен, используются часовые пояса `startdate` и `enddate`. Если часовые пояса не совпадают, вернется неожидаемый результат. [Часовые пояса](../../data_types/datetime.md#time-zones).
**Возвращаемое значение**
Разница между `startdate` и `enddate`, выраженная в `unit`.
Тип: `int`.
**Пример**
Запрос:
```sql
SELECT dateDiff('hour', toDateTime('2018-01-01 22:00:00'), toDateTime('2018-01-02 23:00:00'));
```
Ответ:
```text
┌─dateDiff('hour', toDateTime('2018-01-01 22:00:00'), toDateTime('2018-01-02 23:00:00'))─┐
│ 25 │
└────────────────────────────────────────────────────────────────────────────────────────┘
```
## timeSlot
Округляет время до получаса.
Эта функция является специфичной для Яндекс.Метрики, так как пол часа - минимальное время, для которого, если соседние по времени хиты одного посетителя на одном счётчике отстоят друг от друга строго более, чем на это время, визит может быть разбит на два визита. То есть, кортежи (номер счётчика, идентификатор посетителя, тайм-слот) могут использоваться для поиска хитов, входящий в соответствующий визит.