Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Time

データ型 Time は、時・分・秒の部分を持つ時刻を表します。 これはどの暦日にも依存せず、日・月・年の部分が不要な値に適しています。

構文:

Time

文字列表現の範囲: [-999:59:59, 999:59:59]。

分解能: 1秒。

実装の詳細

表現とパフォーマンス。 データ型 Time は内部的に、秒をエンコードした符号付き 32 ビット整数として格納されます。 Time 型と DateTime 型の値はバイトサイズが同じであるため、パフォーマンスも同程度です。

正規化。 文字列を Time にパースする際、時刻の各部分は正規化されますが、妥当性の検証は行われません。 たとえば、25:70:7026: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 の値が異なるタイムゾーンのもとで暗黙に再解釈されることはありません。

1. Time 型のカラムを持つテーブルを作成し、データを挿入する例:

CREATE TABLE tab
(
    `event_id` UInt8,
    `time` Time
)
ENGINE = TinyLog;
-- 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;
┌─event_id─┬──────time─┐
│        1 │ 14:30:25 │
│        2 │ 14:30:25 │
└──────────┴───────────┘

2. Time の値によるフィルタリング

SET use_legacy_to_time = 0;
SELECT * FROM tab WHERE time = toTime('14:30:25')
┌─event_id─┬──────time─┐
│        1 │ 14:30:25 │
│        2 │ 14:30:25 │
└──────────┴───────────┘

Time カラムの値は、WHERE 述語で文字列を使ってフィルタできます。これは自動的に Time に変換されます。

SELECT * FROM tab WHERE time = '14:30:25'
┌─event_id─┬──────time─┐
│        1 │ 14:30:25 │
│        2 │ 14:30:25 │
└──────────┴───────────┘

3. 結果の型を確認します:

SELECT CAST('14:30:25' AS Time) AS column, toTypeName(column) AS type
┌────column─┬─type─┐
│ 14:30:25 │ Time │
└───────────┴──────┘

Date への加算

Time 値は Date または Date32 値に加算でき、その結果 DateTime または DateTime64 になります。

SET use_legacy_to_time = 0;
SELECT toDate('2024-07-15') + toTime('14:30:25') as datetime;
┌────────────datetime─┐
│ 2024-07-15 14:30:25 │
└─────────────────────┘

サポートされているすべての組み合わせと結果の型について詳しくは、日付と時刻の加算を参照してください。

関連項目

Navigation