UUIDv7 Range Builder

ID・乱数・時刻系の値をブラウザ内で生成/検査します。入力はサーバーへ送信しません。仕様適合の一次確認に使えます。

状態

Start (UTC)

Start (TZ)

End (UTC)

End (TZ)

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

開始/終了のUnix msを入れて「生成」。範囲検索用の境界UUIDとクエリ例を出します。

注意(このツール)

  • UUIDv7のtimestampは48-bitのUnix msです。範囲外の値は生成できません。
  • 開始が終了より大きい場合はエラーになります。

このページについて

何をするツール?

開始/終了の時刻から範囲クエリ用の境界UUIDを作るページです。単発の時刻境界だけ欲しい場合は Timestamp→UUID を使ってください。

範囲検索では「開始はearliest」「終了はlatest」が基本です。

クエリの考え方

  • 基本は `id >= start_uuid AND id <= end_uuid` の形で使います。
  • 終端を排他的にしたい場合は `id < end_uuid` などにします。
  • 開始/終了のmsは「秒→ミリ秒」に変換してから入力します。

切り分け手順(おすすめ)

  • 値を生成または貼り付ける
  • 形式・時刻・文字種制約を確認する
  • 利用先のバリデーション条件で最終確認する

注意(運用)

  • 形式妥当性は安全性や一意性を保証しません。用途に応じた要件確認が必要です。
  • 乱数/時刻/フォーマットの扱いは運用ポリシーに合わせてください。

参照仕様

  • RFC 9562(UUIDv7)
  • 境界: start earliest / end latest
  • 比較式: inclusive / exclusive の使い分け
  • unix_ts_ms: 48-bit の範囲

使いどころ

  • UUIDv7採番のテーブルで期間抽出(例:id >= start AND id <= end)
  • 監査ログ・イベントの期間抽出(開始/終了を境界UUIDに変換)
  • 時刻ベースのページング(境界で区切る)

FAQ

期間抽出は`<= end`と`< end`のどちらを使うべきですか?

終端をlatest境界で作るなら`<= end`、次区間のstartを使う設計なら`< next_start`が扱いやすいです。運用全体で統一してください。

UUIDv4中心のテーブルにも使えますか?

基本的には向きません。時系列抽出はUUIDv7の時刻ソート特性を前提とするため、UUIDv4では別軸の時刻カラムが必要です。

参考リンク

  1. RFC 9562 §5.7(UUIDv7)

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. UUID Inspect(解析) — UUIDを正規化し、version/variant/timestamp を解析
  2. UUIDv7(Timestamp→UUID) — Unix msからUUIDv7境界値(earliest/random/latest)を生成
  3. UUIDv7ジェネレーター — UUIDv7を生成・検証し、時刻由来の値を抽出

Example

出力は入力値に応じて変わります(下は表示例)。

start (earliest)
... 019be116-9806-7000-8000-000000000000
end (latest)
... 019be116-9806-7fff-bfff-ffffffffffff
SQL例
WHERE id >= start_uuid AND id <= end_uuid