Time は、時・分・秒の部分を持つ時刻を表します。
これはどの暦日にも依存せず、日・月・年の部分が不要な値に適しています。
構文:
実装の詳細
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 の値が異なるタイムゾーンのもとで暗黙に再解釈されることはありません。
例
Time 型のカラムを持つテーブルを作成し、データを挿入する例:
Time の値によるフィルタリング
Time カラムの値は、WHERE 述語で文字列を使ってフィルタできます。これは自動的に Time に変換されます。