> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-3a82795f.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по типу данных время в ClickHouse, который хранит значение времени с точностью до секунды

# время

Тип данных `Time` представляет время, состоящее из часов, минут и секунд.
Он не привязан к какой-либо календарной дате и подходит для значений, которым не нужны компоненты дня, месяца и года.

Синтаксис:

```sql theme={null}
Time
```

Диапазон текстового представления: \[-999:59:59, 999:59:59].

Разрешение: 1 секунда.

<div id="implementation-details">
  ## Подробности реализации
</div>

**Представление и производительность**.
Тип данных `Time` внутри хранится как знаковое 32-битное целое число, кодирующее секунды.
Значения типов `Time` и `DateTime` имеют одинаковый размер в байтах и, следовательно, сопоставимую производительность.

**Нормализация**.
При разборе строк в `Time` компоненты времени нормализуются, а не проверяются на корректность.
Например, `25:70:70` интерпретируется как `26:11:10`.

**Отрицательные значения**.
Ведущий знак минус поддерживается и сохраняется.
Отрицательные значения обычно возникают в результате арифметических операций со значениями `Time`.
Для типа `Time` отрицательные входные значения сохраняются как для текстового представления (например, `'-01:02:03'`), так и для числового (например, `-3723`).

**Насыщение**.
Компонент времени в пределах суток ограничивается диапазоном \[-999:59:59, 999:59:59].
Значения с часами больше 999 (или меньше -999) представляются и преобразуются обратно в текстовом виде как `999:59:59` (или `-999:59:59`).

**Часовые пояса**.
`Time` не поддерживает часовые пояса, то есть значения `Time` интерпретируются без привязки к региону.
Указание часового пояса для `Time` в качестве параметра типа или при создании значения вызывает ошибку.
Аналогично, попытки применить или изменить часовой пояс для столбцов `Time` не поддерживаются и приводят к ошибке.
Значения `Time` не переинтерпретируются неявно при использовании разных часовых поясов.

<div id="examples">
  ## Примеры
</div>

**1.** Создание таблицы со столбцом типа `Time` и вставка данных в неё:

```sql theme={null}
CREATE TABLE tab
(
    `event_id` UInt8,
    `time` Time
)
ENGINE = TinyLog;
```

```sql theme={null}
-- Разобрать Time
-- - из строки,
-- - из целого числа, интерпретируемого как количество секунд с 00:00:00.
INSERT INTO tab VALUES (1, '14:30:25'), (2, 52225);

SELECT * FROM tab ORDER BY event_id;
```

```text theme={null}
   ┌─event_id─┬──────time─┐
1. │        1 │ 14:30:25 │
2. │        2 │ 14:30:25 │
   └──────────┴───────────┘
```

**2.** Фильтрация по значениям поля `Time`

```sql theme={null}
SET use_legacy_to_time = 0;
SELECT * FROM tab WHERE time = toTime('14:30:25')
```

```text theme={null}
   ┌─event_id─┬──────time─┐
1. │        1 │ 14:30:25 │
2. │        2 │ 14:30:25 │
   └──────────┴───────────┘
```

Значения столбца `Time` можно фильтровать, используя строковое значение в предикате `WHERE`. Оно будет автоматически преобразовано в `Time`:

```sql theme={null}
SELECT * FROM tab WHERE time = '14:30:25'
```

```text theme={null}
   ┌─event_id─┬──────time─┐
1. │        1 │ 14:30:25 │
2. │        2 │ 14:30:25 │
   └──────────┴───────────┘
```

**3.** Проверка итогового типа:

```sql theme={null}
SELECT CAST('14:30:25' AS Time) AS column, toTypeName(column) AS type
```

```text theme={null}
   ┌────column─┬─type─┐
1. │ 14:30:25 │ Time │
   └───────────┴──────┘
```

<div id="addition-with-date">
  ## Сложение с Date
</div>

Значение [время](/ru/reference/data-types/time) можно прибавить к значению [Date](/ru/reference/data-types/date) или [Date32](/ru/reference/data-types/date32), чтобы получить [DateTime](/ru/reference/data-types/datetime) или [DateTime64](/ru/reference/data-types/datetime64):

```sql theme={null}
SET use_legacy_to_time = 0;
SELECT toDate('2024-07-15') + toTime('14:30:25') as datetime;
```

```text theme={null}
   ┌────────────datetime─┐
1. │ 2024-07-15 14:30:25 │
   └─────────────────────┘
```

См. [Сложение даты и времени](/ru/reference/operators#date-time-addition), где подробнее описаны все поддерживаемые комбинации и типы результатов.

<div id="see-also">
  ## См. также
</div>

* [Функции преобразования типов](/ru/reference/functions/regular-functions/type-conversion-functions)
* [Функции для работы с датами и временем](/ru/reference/functions/regular-functions/date-time-functions)
* [Функции для работы с массивами](/ru/reference/functions/regular-functions/array-functions)
* [Настройка `date_time_input_format`](/ru/reference/settings/formats#date_time_input_format)
* [Настройка `date_time_output_format`](/ru/reference/settings/formats#date_time_output_format)
* [Параметр конфигурации сервера `timezone`](/ru/reference/settings/server-settings/settings#timezone)
* [Настройка `session_timezone`](/ru/reference/settings/session-settings#session_timezone)
* [Тип данных `DateTime`](/ru/reference/data-types/datetime)
* [Тип данных `Date`](/ru/reference/data-types/date)
