形式の切り替えは入力を保持
エディターの下で配列またはintervalを選びます。形式を変えても原文は消えません。現在の形式に合うサンプルを読み込むときは、置換内容と文字数をプレビューしてから適用します。
データベース・SQLツール
配列またはintervalの生の値を入力し、データベースを操作せずに構造を確認します。
値はこのブラウザー内で解析されます。送信、データベース接続、ネットワーク要求は行いません。
SQLの外側の引用符やキャストを除いた値を入力してください。NULL以外の配列要素は文字列のまま、時間間隔の項目は別々に保持します。
65,536文字・10,000要素・6次元まで。秒は小数6桁まで。
次元:2・要素:6・NULL:1
PostgreSQL配列パーサーは、ドライバーやログから得た波括弧付きの文字列を調べるための道具です。カンマで単純に分割すると、要素内に含まれるカンマや引用符まで区切りとして扱ってしまいます。
サンプルではNULL、文字列の「NULL」、空文字列を比較できます。時間間隔では入力元の出力形式を先に確認してください。負号がどの項目まで適用されるかは形式によって変わります。
PostgreSQL配列パーサーは、入れ子の値と各次元の長さ、下限、上限をまとめて表示します。下限が0や負数でもメタデータに残るため、配列をJSONに変換した後も元の座標を確認できます。
intervalの月、日、マイクロ秒は別々に表示します。月の日数や夏時間による一日の長さを仮定せず、正負が混在した項目も保持するので、時間差への変換で隠れやすい違いが見えます。
エディターの下で配列またはintervalを選びます。形式を変えても原文は消えません。現在の形式に合うサンプルを読み込むときは、置換内容と文字数をプレビューしてから適用します。
初期サンプルは最初の次元が添字0から始まります。dimensionsとnullCountを確認してください。sql_standardでは後続の明示的な符号がなければ、先頭の負号が日と時刻にも適用されます。
最後の編集から350ミリ秒後に解析します。自動を切ると解析ボタンとCtrl/Cmd+Enterを使えます。変更直後は出力操作が無効になり、長い結果は100行ずつ表示されます。保存対象は常に全体です。
001や大きな整数も文字列のまま保持します。配列リテラルだけでは要素のデータ型を確定できないためです。多次元配列は長さがそろっている必要があり、不ぞろいな行を補完したり平坦化したりしません。
二重引用符内のカンマ、エスケープした引用符やバックスラッシュ、保護された空白を読み取ります。引用もエスケープもないNULLだけがnullになり、「NULL」や空文字列は文字列として残ります。
postgres、postgres_verbose、sql_standard、iso_8601に対応します。月や日などは整数、秒だけは小数6桁までを受け付けます。結果の3項目は整数演算で求め、精度を失わない10進文字列として出力します。
文字列として返された値が波括弧で囲まれているなら、配列モードで読み取り、JSONのvaluesを確認できます。数値らしい要素も文字列のままです。添字の下限はJSONの配列自体に入らないため、必要ならdimensionsも一緒に保存してください。
引用もエスケープもないNULLは大文字小文字を問わずnullになります。"NULL"は文字列、""は空文字列です。nullCountで件数も確認できます。値全体のSQL NULLは配列リテラルではありません。空配列を表す場合は{}を使います。
各次元の要素数が一致しているか確認してください。{{a,b},{c}}のように行ごとの長さが違う値は不正です。この道具は欠けたセルを追加しません。原文を修正し、次元指定がある場合はその長さも合わせて確認します。
COPYやCSVの外側の表記と、配列要素のエスケープは別の層です。ここで扱うのは配列の内側だけです。引用符付き要素では二重引用符とバックスラッシュの前にバックスラッシュを置きます。外側のCSVやSQL文字列は先に解除してください。
月の日数は一定ではなく、夏時間をまたぐ暦の一日も常に24時間とは限りません。3項目を固定の換算率でまとめると、想定した経過時間と食い違うことがあります。この結果は項目を分けたまま保持し、総秒数は計算しません。
SQLなどで表示を組み直すことはできますが、日を時間へ移す変換になります。ここでは1 day 01:30:00はdays="1"、microseconds="5400000000"です。25:30:00ならdays="0"、microseconds="91800000000"となり、元の区分を残します。
解決しませんでしたか?