Zuerst den passenden Parser wählen
Unter den Editoren zwischen Array und Intervall wechseln. Ein Wechsel behält den Text bei und ändert nur die Regeln. Das Beispiel zeigt vor dem Ersetzen eine Vorschau samt Zeichenzahl für den gewählten Modus.
Datenbank- und SQL-Werkzeuge
Einen rohen Array- oder Intervallwert einfügen und seine Struktur prüfen, ohne eine Datenbankabfrage auszuführen.
Werte werden in diesem Browser verarbeitet; kein Upload, keine Datenbankverbindung und keine Netzwerkanfrage.
Den rohen Wert ohne äußere SQL-Anführungszeichen oder Casts eingeben. Array-Werte außer NULL bleiben Text; Intervallfelder bleiben getrennt.
65.536 Zeichen · 10.000 Elemente · 6 Dimensionen · Sekunden mit höchstens 6 Nachkommastellen
Dimensionen: 2 · Elemente: 6 · NULL: 1
Ein PostgreSQL Array-Parser hilft, wenn ein Treiber oder ein Export nur eine Zeichenfolge mit geschweiften Klammern liefert. Einfaches Trennen am Komma scheitert, sobald ein Element selbst ein Komma oder maskierte Anführungszeichen enthält.
Das Beispiel unterscheidet NULL, den Text "NULL" und eine leere Zeichenfolge. Bei Intervallen sollte zuerst das Ausgabeformat der Quelle feststehen: Davon hängt ab, für welche Felder ein führendes Minuszeichen gilt.
Der PostgreSQL Array-Parser zeigt verschachtelte Werte sowie Länge, Unter- und Obergrenze jeder Dimension. Beginnt ein Array bei null oder einem negativen Index, bleibt diese Information in den Metadaten erhalten, auch wenn JSON selbst keine solchen Array-Grenzen speichert.
Ein Monat hat keine feste Anzahl Sekunden. Das PostgreSQL Intervall bleibt deshalb in Monate, Tage und Mikrosekunden aufgeteilt. Unterschiedliche Vorzeichen werden bewahrt, statt sie durch eine angenommene Kalenderrechnung zu vereinheitlichen.
Unter den Editoren zwischen Array und Intervall wechseln. Ein Wechsel behält den Text bei und ändert nur die Regeln. Das Beispiel zeigt vor dem Ersetzen eine Vorschau samt Zeichenzahl für den gewählten Modus.
Die erste Dimension des Beispiels beginnt bei Index null. Im JSON stehen dimensions und nullCount. Bei sql_standard kann ein einziges führendes Minus auch für nachfolgende Tages- und Zeitfelder gelten; daher das Quellformat ausdrücklich wählen.
Automatisches Parsen wartet nach der letzten Änderung 350 ms. Ausgeschaltet stehen die Schaltfläche und Ctrl/Cmd+Enter bereit. Änderungen sperren Exporte sofort. Lange Berichte erscheinen in Abschnitten von 100 Zeilen; kopiert und gespeichert wird stets der vollständige Bericht.
Wer ein PostgreSQL Array parsen möchte, kann Werte wie 001 oder sehr große Ganzzahlen als Zeichenfolgen erhalten. Mehrdimensionale Arrays müssen rechteckig sein. Unterschiedlich lange Zeilen führen zu einem Fehler, nicht zu ergänzten NULL-Werten oder einer flachen Liste.
Ein Array-Literal darf geschützte Kommas, Anführungszeichen, Backslashes und Leerraum enthalten. Nur unzitiertes, nicht maskiertes NULL wird zu JSON null. "NULL", ein maskiertes NULL und eine leere Zeichenfolge bleiben Text und sind im Ergebnis unterscheidbar.
postgres, postgres_verbose, sql_standard und iso_8601 werden ausdrücklich ausgewählt. Kalenderfelder müssen ganzzahlig sein, Sekunden dürfen sechs Nachkommastellen haben. Exakte Ganzzahlarithmetik liefert Monate, Tage und Mikrosekunden als Dezimalzeichenfolgen.
Oft fehlt eine schließende Klammer oder ein Anführungszeichen, ein Trennzeichen steht am Ende oder der Text enthält noch die äußere SQL-Anweisung. Die Fehlermeldung nennt Zeile und Spalte. Nur den inneren Array-Wert einfügen und die markierte Stelle auf Anführungszeichen und Backslashes prüfen.
Unzitiertes und nicht maskiertes NULL wird unabhängig von der Großschreibung zu JSON null. "NULL" ist Text, "" eine leere Zeichenfolge. nullCount zählt fehlende Elemente. Ein einzelnes SQL NULL ist hier kein Array-Literal; ein leeres Array wird als {} geschrieben.
Alle Teilarrays müssen in jeder Dimension dieselbe Länge haben. {{a,b},{c}} enthält zwei beziehungsweise ein Element und wird abgewiesen. Fehlende Zellen werden nicht ergänzt. Die Quelldaten korrigieren und anschließend prüfen, ob ausdrücklich angegebene Grenzen ebenfalls zur Form passen.
Die äußere COPY- oder CSV-Kodierung ist eine andere Ebene als die Array-Syntax. Hier wird nur die innere Ebene verarbeitet. In einem zitierten Element steht vor einem doppelten Anführungszeichen oder Backslash jeweils ein Backslash. Die äußere Kodierung muss vor dem Einfügen entfernt werden.
Monate haben unterschiedliche Längen; ein Kalendertag kann bei einer Zeitumstellung auch von 24 Stunden abweichen. Eine pauschale Umrechnung kann daher ein anderes Ergebnis liefern als die tatsächliche verstrichene Zeit. Dieser Bericht lässt die drei Felder getrennt. Für verstrichene Sekunden werden konkrete Zeitpunkte benötigt.
Eine andere Darstellung lässt sich außerhalb dieses Werkzeugs mit SQL erzeugen, sie verschiebt jedoch Tage in das Stundenfeld. Hier bleibt 1 day 01:30:00 bei days="1" und microseconds="5400000000". Dagegen ergibt 25:30:00 die Felder days="0" und microseconds="91800000000".
Noch eine Frage?
Der PostgreSQL Array-Parser macht Grenzen und Werte sichtbar. Für einen Zeitabstand das Intervallformat wählen und vor dem JSON-Export die drei Felder vergleichen.
Ein Literal pro Durchlauf; keine automatische Reparatur.