Ich kann to_json(1)
verwenden, um Int in JSON zu konvertieren, aber wie kann ich JSON in Int konvertieren? Dies kann zu langsam sein:Wie zu konvertieren Postgres JSON zu Integer
to_json(1)::text::int
Auch ist json von einem binären Block (BSON) gewickelt oder einem einfachen Wrapper von Text?
danken Du hoffst, dass die neue Version bald veröffentlicht wird. Da es eine Transformation zwischen String und Zahl gibt, wird es sicherlich langsamer als direkte Integer-Typ, wie jeder weiß. Da es im realen Fall akzeptiert werden kann, suchen wir einen schnelleren Weg. Ich stelle diese Frage unter json-to-int Frage, weil ich vermutet hätte, dass json von Text umhüllt ist, so dass json-to-int aus Text umwandeln muss, ansonsten sollte seine Struktur bereits getippt sein. – Inshua
'jsonb' existiert jetzt. Unterstützt es das direkte Extrahieren von Ganzzahlen aus json? –
@Craig Ringer - es hat Probleme, wenn der Wert null ist: select ('[null]' :: json-> 0) :: text :: int löst ungültige Eingabesyntax für Integer: "null" was Sinn macht .. das funktioniert: select ('[null]' :: json - >> 0) :: int ... gibt null zurück – Reinsbrain