01
なぜ重要か
従来のintervalが固定位置を持たない期間の長さを表すのに対し、PERIODはタイムライン上の具体的な範囲を表現します。これにより、雇用期間やバージョンの有効期間など、開始時点と終了時点を伴うデータを専用の型で扱えるようになります。
02
対象となるチーム
- データモデリング担当者
- データ基盤・分析基盤チーム
- Teradataなどからの移行担当者
- リリースやアカウント設定を管理するSnowflake管理者
03
提供条件
- 提供ステータス: Public Preview
- 10.32リリースは2026年9月8日の完了予定ですが、変更される可能性があります
- リリース完了前はアカウントで利用できない場合があります
- エディション、リージョン、前提機能の記載はリリースノートに記載なし
- 行動変更バンドルでは、2026_07はデフォルト無効、2026_06はデフォルト有効でオプトアウト可能、2026_05は一般有効です
04
ユースケース
- 従業員の雇用期間を、開始日を含み終了日を含まない範囲として管理する用途です。
- 製品やデータスキーマのバージョン有効期間を、タイムライン上の具体的な範囲として保持する用途です。
- DATE、TIME、TIMESTAMPの範囲同士を比較し、重複や関係性を判定する用途です。
- 複数の時間範囲を比較・結合し、共通範囲や統合された範囲を扱う用途です。
05
仕組みと使い方
PERIODは、期間の長さではなく、開始値と終了値によって位置付けられた範囲を保存します。開始値はinclusive、終了値はexclusiveです。両端は同じ要素型である必要があります。PERIOD_*関数群を使って値の構築、beginning・ending boundsの取得、範囲の比較や結合を行います。具体的なSQL構文や関数名の一覧は、このリリースノートに記載されていません。
06
導入ステップ
- 10.32のリリース完了状況と対象アカウントでのPreview提供状況を確認します。
- 公式のPERIODデータ型およびPERIOD_*関数のリファレンスで、利用可能な構文と関数一覧を確認します。
- 検証用環境でDATE、TIME、TIMESTAMPそれぞれのPERIOD作成、境界値、比較、結合をテストします。
- 既存の開始・終了列やinterval表現をPERIODへ置き換える場合のデータ型・クエリ影響を評価します。
- 結果と互換性を確認したうえで、対象ワークロードへの段階的な適用可否を判断します。
07
運用上の注意
- Preview機能のため、仕様や提供状況が変更される可能性があります。
- 半開区間のため、終了境界は範囲に含まれません。既存ロジックの境界条件を必ず確認してください。
- 開始値と終了値は同じ要素型で扱う必要があります。
- 10.32はリリース進行中であり、記載された機能がリリース完了前にアカウントで利用できない場合があります。
- 行動変更バンドルの状態は今後のリリースで再度変更される予定ですが、スケジュールは変更される可能性があります。
08
制約事項
- エディション別およびリージョン別の提供条件は、リリースノートに記載なし。
- PERIOD_*関数の具体的な関数名、引数、戻り値、対応演算子は、リリースノートに記載なし。
- PreviewからGeneral Availabilityへ移行する時期や条件は、リリースノートに記載なし。
- 既存のinterval型との相互変換や、外部テーブル・各種コネクタでの対応状況は、リリースノートに記載なし。
09
次に確認すること
- 公式のPERIODデータ型リファレンスで、DDL・DML・関数構文と対応する境界条件を確認する
- 対象アカウントのエディション、リージョン、Preview機能の有効条件をSnowflake管理者またはSnowflake Supportに確認する
- 検証環境で既存の開始・終了列およびinterval利用箇所との結果差分をテストする
- About Behavior Changesと10.32の変更履歴を確認し、行動変更バンドルの設定影響を評価する
→
公式情報
仕様・提供条件は更新される可能性があります。導入前に必ず公式リリースノートを確認してください。