> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/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}
-- Parse Time
-- - from string,
-- - from integer interpreted as number of seconds since 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 │ 14:30:25 │
│        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 │ 14:30:25 │
│        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 │ 14:30:25 │
│        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─┐
│ 14:30:25 │ Time │
└───────────┴──────┘
```

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

Значение [время](/docs/ru/reference/data-types/time) можно прибавить к значению [Date](/docs/ru/reference/data-types/date) или [Date32](/docs/ru/reference/data-types/date32), чтобы получить [DateTime](/docs/ru/reference/data-types/datetime) или [DateTime64](/docs/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─┐
│ 2024-07-15 14:30:25 │
└─────────────────────┘
```

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

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

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