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では別軸の時刻カラムが必要です。
参考リンク
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- UUID Inspect(解析) — UUIDを正規化し、version/variant/timestamp を解析
- UUIDv7(Timestamp→UUID) — Unix msからUUIDv7境界値(earliest/random/latest)を生成
- 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