mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
Doc fix: Add info about EXTRACT FROM (en, ru) (#4950)
This commit is contained in:
parent
f37d66bb2e
commit
0c68126698
@ -65,6 +65,67 @@ Groups of operators are listed in order of priority (the higher it is in the lis
|
||||
|
||||
`a GLOBAL NOT IN ...` – The `globalNotIn(a, b) function.`
|
||||
|
||||
## Operator for Working With Dates and Times
|
||||
|
||||
``` sql
|
||||
EXTRACT(part FROM date);
|
||||
```
|
||||
|
||||
Extracts a part from a given date. For example, you can retrieve a month from a given date, or a second from a time.
|
||||
|
||||
The `part` parameter specifies which part of the date to retrieve. The following values are available:
|
||||
|
||||
- `DAY` — The day of the month. Possible values: 1–31.
|
||||
- `MONTH` — The number of a month. Possible values: 1–12.
|
||||
- `YEAR` — The year.
|
||||
- `SECOND` — The second. Possible values: 0–59.
|
||||
- `MINUTE` — The minute. Possible values: 0–59.
|
||||
- `HOUR` — The hour. Possible values: 0–23.
|
||||
|
||||
The `part` parameter is case-insensitive.
|
||||
|
||||
The `date` parameter specifies the date or the time to process. Either [Date](../data_types/date.md) or [DateTime](../data_types/datetime.md) type is supported.
|
||||
|
||||
Examples:
|
||||
|
||||
``` sql
|
||||
SELECT EXTRACT(DAY FROM toDate('2017-06-15'));
|
||||
SELECT EXTRACT(MONTH FROM toDate('2017-06-15'));
|
||||
SELECT EXTRACT(YEAR FROM toDate('2017-06-15'));
|
||||
```
|
||||
|
||||
In the following example we create a table and insert into it a value with the `DateTime` type.
|
||||
|
||||
``` sql
|
||||
CREATE TABLE test.Orders
|
||||
(
|
||||
OrderId UInt64,
|
||||
OrderName String,
|
||||
OrderDate DateTime
|
||||
)
|
||||
ENGINE = Log;
|
||||
```
|
||||
|
||||
``` sql
|
||||
INSERT INTO test.Orders VALUES (1, 'Jarlsberg Cheese', toDateTime('2008-10-11 13:23:44'));
|
||||
```
|
||||
``` sql
|
||||
SELECT
|
||||
toYear(OrderDate) AS OrderYear,
|
||||
toMonth(OrderDate) AS OrderMonth,
|
||||
toDayOfMonth(OrderDate) AS OrderDay,
|
||||
toHour(OrderDate) AS OrderHour,
|
||||
toMinute(OrderDate) AS OrderMinute,
|
||||
toSecond(OrderDate) AS OrderSecond
|
||||
FROM test.Orders;
|
||||
|
||||
┌─OrderYear─┬─OrderMonth─┬─OrderDay─┬─OrderHour─┬─OrderMinute─┬─OrderSecond─┐
|
||||
│ 2008 │ 10 │ 11 │ 13 │ 23 │ 44 │
|
||||
└───────────┴────────────┴──────────┴───────────┴─────────────┴─────────────┘
|
||||
```
|
||||
|
||||
You can see more examples in [tests](https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00619_extract.sql).
|
||||
|
||||
## Logical Negation Operator
|
||||
|
||||
`NOT a` The `not(a) function.`
|
||||
|
@ -31,8 +31,7 @@ ORDER BY (CounterID, StartDate, intHash32(UserID));
|
||||
Каждая партиция состоит из отдельных фрагментов или так называемых _кусков данных_. Каждый кусок отсортирован по первичному ключу. При вставке данных в таблицу каждая отдельная запись сохраняется в виде отдельного куска. Через некоторое время после вставки (обычно до 10 минут), ClickHouse выполняет в фоновом режиме слияние данных — в результате куски для одной и той же партиции будут объединены в более крупный кусок.
|
||||
|
||||
!!! info
|
||||
|
||||
Не рекомендуется делать слишком гранулированное партиционирование – то есть задавать партиции по столбцу, в котором будет слишком большой разброс значений (речь идет о порядке более тысячи партиций). Это приведет к скоплению большого числа файлов и файловых дескрипторов в системе, что может значительно снизить производительность запросов `SELECT`.
|
||||
Не рекомендуется делать слишком гранулированное партиционирование – то есть задавать партиции по столбцу, в котором будет слишком большой разброс значений (речь идет о порядке более тысячи партиций). Это приведет к скоплению большого числа файлов и файловых дескрипторов в системе, что может значительно снизить производительность запросов `SELECT`.
|
||||
|
||||
Чтобы получить набор кусков и партиций таблицы, можно воспользоваться системной таблицей [system.parts](../system_tables.md#system_tables-parts). В качестве примера рассмотрим таблицу `visits`, в которой задано партиционирование по месяцам. Выполним `SELECT` для таблицы `system.parts`:
|
||||
|
||||
|
@ -86,7 +86,7 @@ ENGINE MergeTree() PARTITION BY toYYYYMM(EventDate) ORDER BY (CounterID, EventDa
|
||||
<details markdown="1"><summary>Устаревший способ создания таблицы</summary>
|
||||
|
||||
!!! attention
|
||||
Не используйте этот способ в новых проектах и по возможности переведите старые проекты на способ описанный выше.
|
||||
Не используйте этот способ в новых проектах и по возможности переведите старые проекты на способ, описанный выше.
|
||||
|
||||
```sql
|
||||
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
|
||||
|
@ -65,6 +65,67 @@
|
||||
|
||||
`a GLOBAL NOT IN ...` - функция `globalNotIn(a, b)`
|
||||
|
||||
## Оператор для работы с датами и временем
|
||||
|
||||
``` sql
|
||||
EXTRACT(part FROM date);
|
||||
```
|
||||
|
||||
Позволяет извлечь отдельные части из переданной даты. Например, можно получить месяц из даты, или минуты из времени.
|
||||
|
||||
В параметре `part` указывается, какой фрагмент даты нужно получить. Доступные значения:
|
||||
|
||||
- `DAY` — День. Возможные значения: 1–31.
|
||||
- `MONTH` — Номер месяца. Возможные значения: 1–12.
|
||||
- `YEAR` — Год.
|
||||
- `SECOND` — Секунда. Возможные значения: 0–59.
|
||||
- `MINUTE` — Минута. Возможные значения: 0–59.
|
||||
- `HOUR` — Час. Возможные значения: 0–23.
|
||||
|
||||
Эти значения могут быть указаны также в нижнем регистре (`day`, `month`).
|
||||
|
||||
В параметре `date` указывается исходная дата. Поддерживаются типы [Date](../data_types/date.md) и [DateTime](../data_types/datetime.md).
|
||||
|
||||
Примеры:
|
||||
|
||||
``` sql
|
||||
SELECT EXTRACT(DAY FROM toDate('2017-06-15'));
|
||||
SELECT EXTRACT(MONTH FROM toDate('2017-06-15'));
|
||||
SELECT EXTRACT(YEAR FROM toDate('2017-06-15'));
|
||||
```
|
||||
|
||||
В следующем примере создадим таблицу и добавим в неё значение с типом `DateTime`.
|
||||
|
||||
``` sql
|
||||
CREATE TABLE test.Orders
|
||||
(
|
||||
OrderId UInt64,
|
||||
OrderName String,
|
||||
OrderDate DateTime
|
||||
)
|
||||
ENGINE = Log;
|
||||
```
|
||||
|
||||
``` sql
|
||||
INSERT INTO test.Orders VALUES (1, 'Jarlsberg Cheese', toDateTime('2008-10-11 13:23:44'));
|
||||
```
|
||||
``` sql
|
||||
SELECT
|
||||
toYear(OrderDate) AS OrderYear,
|
||||
toMonth(OrderDate) AS OrderMonth,
|
||||
toDayOfMonth(OrderDate) AS OrderDay,
|
||||
toHour(OrderDate) AS OrderHour,
|
||||
toMinute(OrderDate) AS OrderMinute,
|
||||
toSecond(OrderDate) AS OrderSecond
|
||||
FROM test.Orders;
|
||||
|
||||
┌─OrderYear─┬─OrderMonth─┬─OrderDay─┬─OrderHour─┬─OrderMinute─┬─OrderSecond─┐
|
||||
│ 2008 │ 10 │ 11 │ 13 │ 23 │ 44 │
|
||||
└───────────┴────────────┴──────────┴───────────┴─────────────┴─────────────┘
|
||||
```
|
||||
|
||||
Больше примеров приведено в [тестах](https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00619_extract.sql).
|
||||
|
||||
## Оператор логического отрицания
|
||||
|
||||
`NOT a` - функция `not(a)`
|
||||
|
Loading…
Reference in New Issue
Block a user