Add Snowflake ID-date docs.

This commit is contained in:
romanzhukov 2021-08-22 17:38:07 +03:00
parent 2ce40988b6
commit fc212753d5
3 changed files with 155 additions and 19 deletions

View File

@ -1342,7 +1342,7 @@ Result:
## snowflakeToDateTime {#snowflakeToDateTime}
Extract time from snowflake id as DateTime format.
Extracts time from Snowflake ID as [DateTime](../data-types/datetime.md) format.
**Syntax**
@ -1352,12 +1352,12 @@ snowflakeToDateTime(value [, time_zone])
**Parameters**
- `value``snowflake id`, Int64 value.
- `value`Snowflake ID. [Int64](../data-types/int-uint.md).
- `time_zone` — [Timezone](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone). The function parses `time_string` according to the timezone. Optional. [String](../../sql-reference/data-types/string.md).
**Returned value**
- value converted to the `DateTime` data type.
- Value converted to the [DateTime](../data-types/datetime.md) data type.
**Example**
@ -1378,7 +1378,7 @@ Result:
## snowflakeToDateTime64 {#snowflakeToDateTime64}
Extract time from snowflake id as DateTime64 format.
Extracts time from Snowflake ID as [DateTime64](../data-types/datetime64.md) format.
**Syntax**
@ -1388,12 +1388,12 @@ snowflakeToDateTime64(value [, time_zone])
**Parameters**
- `value``snowflake id`, Int64 value.
- `value`Snowflake ID. [Int64](../data-types/int-uint.md).
- `time_zone` — [Timezone](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone). The function parses `time_string` according to the timezone. Optional. [String](../../sql-reference/data-types/string.md).
**Returned value**
- value converted to the `DateTime64` data type.
- Value converted to the [DateTime64](../data-types/datetime64.md) data type.
**Example**
@ -1414,7 +1414,7 @@ Result:
## dateTimeToSnowflake {#dateTimeToSnowflake}
Convert DateTime to the first snowflake id at the giving time.
Converts [DateTime](../data-types/datetime.md) value to the first Snowflake ID at the giving time.
**Syntax**
@ -1426,33 +1426,29 @@ dateTimeToSnowflake(value)
- `value` — Date and time. [DateTime](../../sql-reference/data-types/datetime.md).
**Returned value**
- `value` converted to the `Int64` data type as the first snowflake id at that time.
- `value` converted to the [Int64](../data-types/int-uint.md) data type as the first Snowflake ID at that time.
**Example**
Query:
``` sql
WITH toDateTime('2021-08-15 18:57:56', 'Asia/Shanghai') AS dt
SELECT dateTimeToSnowflake(dt);
WITH toDateTime('2021-08-15 18:57:56', 'Asia/Shanghai') AS dt SELECT dateTimeToSnowflake(dt);
```
Result:
``` text
┌─dateTimeToSnowflake(dt)─┐
│ 1426860702823350272 │
└─────────────────────────┘
```
## dateTime64ToSnowflake {#dateTime64ToSnowflake}
Convert DateTime64 to the first snowflake id at the giving time.
Convert [DateTime64](../data-types/datetime64.md) to the first Snowflake ID at the giving time.
**Syntax**
@ -1464,18 +1460,16 @@ dateTime64ToSnowflake(value)
- `value` — Date and time. [DateTime64](../../sql-reference/data-types/datetime64.md).
**Returned value**
- `value` converted to the `Int64` data type as the first snowflake id at that time.
- `value` converted to the [Int64](../data-types/int-uint.md) data type as the first Snowflake ID at that time.
**Example**
Query:
``` sql
WITH toDateTime64('2021-08-15 18:57:56.492', 3, 'Asia/Shanghai') AS dt64
SELECT dateTime64ToSnowflake(dt64);
WITH toDateTime64('2021-08-15 18:57:56.492', 3, 'Asia/Shanghai') AS dt64 SELECT dateTime64ToSnowflake(dt64);
```
Result:
@ -1484,4 +1478,4 @@ Result:
┌─dateTime64ToSnowflake(dt64)─┐
│ 1426860704886947840 │
└─────────────────────────────┘
```
```

View File

@ -1338,3 +1338,144 @@ FROM numbers(3);
│ 2,"good" │
└───────────────────────────────────────────┘
```
## snowflakeToDateTime {#snowflakeToDateTime}
Извлекает время из Snowflake ID в формате [DateTime](../data-types/datetime.md).
**Синтаксис**
``` sql
snowflakeToDateTime(value [, time_zone])
```
**Аргументы**
- `value` — Snowflake ID. [Int64](../data-types/int-uint.md).
- `time_zone` — [временная зона сервера](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone). Функция распознает `time_string` в соответствии с часовым поясом. Необязательный. [String](../../sql-reference/data-types/string.md).
**Возвращаемое значение**
- Значение, преобразованное в фомат [DateTime](../data-types/datetime.md).
**Пример**
Запрос:
``` sql
SELECT snowflakeToDateTime(CAST('1426860702823350272', 'Int64'), 'UTC');
```
Результат:
``` text
┌─snowflakeToDateTime(CAST('1426860702823350272', 'Int64'), 'UTC')─┐
│ 2021-08-15 10:57:56 │
└──────────────────────────────────────────────────────────────────┘
```
## snowflakeToDateTime64 {#snowflakeToDateTime64}
Извлекает время из Snowflake ID в формате [DateTime64](../data-types/datetime64.md).
**Синтаксис**
``` sql
snowflakeToDateTime64(value [, time_zone])
```
**Аргументы**
- `value` — Snowflake ID. [Int64](../data-types/int-uint.md).
- `time_zone` — [временная зона сервера](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-timezone). Функция распознает `time_string` в соответствии с часовым поясом. Необязательный. [String](../../sql-reference/data-types/string.md).
**Возвращаемое значение**
- Значение, преобразованное в фомат [DateTime64](../data-types/datetime64.md).
**Пример**
Запрос:
``` sql
SELECT snowflakeToDateTime64(CAST('1426860802823350272', 'Int64'), 'UTC');
```
Результат:
``` text
┌─snowflakeToDateTime64(CAST('1426860802823350272', 'Int64'), 'UTC')─┐
│ 2021-08-15 10:58:19.841 │
└────────────────────────────────────────────────────────────────────┘
```
## dateTimeToSnowflake {#dateTimeToSnowflake}
Преобразует значение [DateTime](../data-types/datetime.md) в первый идентификатор Snowflake ID на текущий момент.
**Syntax**
``` sql
dateTimeToSnowflake(value)
```
**Аргументы**
- `value` — дата и время. [DateTime](../../sql-reference/data-types/datetime.md).
**Возвращаемое значение**
- Значение, преобразованное в [Int64](../data-types/int-uint.md), как первый идентификатор Snowflake ID в момент выполнения.
**Пример**
Запрос:
``` sql
WITH toDateTime('2021-08-15 18:57:56', 'Asia/Shanghai') AS dt SELECT dateTimeToSnowflake(dt);
```
Результат:
``` text
┌─dateTimeToSnowflake(dt)─┐
│ 1426860702823350272 │
└─────────────────────────┘
```
## dateTime64ToSnowflake {#dateTime64ToSnowflake}
Преобразует значение [DateTime64](../data-types/datetime64.md) в первый идентификатор Snowflake ID на текущий момент.
**Синтаксис**
``` sql
dateTime64ToSnowflake(value)
```
**Аргументы**
- `value` — дата и время. [DateTime64](../data-types/datetime64.md).
**Возвращаемое значение**
- Значение, преобразованное в [Int64](../data-types/int-uint.md), как первый идентификатор Snowflake ID в момент выполнения.
**Пример**
Запрос:
``` sql
WITH toDateTime64('2021-08-15 18:57:56.492', 3, 'Asia/Shanghai') AS dt64 SELECT dateTime64ToSnowflake(dt64);
```
Результат:
``` text
┌─dateTime64ToSnowflake(dt64)─┐
│ 1426860704886947840 │
└─────────────────────────────┘
```

View File

@ -247,6 +247,7 @@ CREATE TABLE codec_example
)
ENGINE = MergeTree()
```
## Временные таблицы {#temporary-tables}
ClickHouse поддерживает временные таблицы со следующими характеристиками: