Devuelve la representación de texto conocido (WKT)
asText({tjsonb,tjsonb[]}) → {text,text[]}
SELECT asText(tjsonb '[{"vehicleId": 1, "location": "Point(1 1)"}@2001-01-01,
{"vehicleId": 1, "location": "Point(2 2)"}@2001-01-02]');
/* ["{\"location\": \"Point(1 1)\", \"vehicleId\": 1}"@2001-01-01, "{\"location\":
\"Point(2 2)\", \"vehicleId\": 1}"@2001-01-02] */
SELECT asText(ARRAY[tjsonb '"{\"vehicleId\":1, \"location\": \"Point(1 1)\"}"@2001-01-01',
'"{\"vehicleId\": 1, \"location\": \"Point(2 2)\"}"@2001-01-02']);
/* {"\"{\\\"location\\\": \\\"Point(1 1)\\\", \\\"vehicleId\\\":
1}\"@2001-01-01","\"{\\\"location\\\": \\\"Point(2 2)\\\", \\\"vehicleId\\\":
1}\"@2001-01-02"} */
Como puede verse arriba, para los arreglos de valores JSONB, los elementos deben encerrarse entre comillas y, por lo tanto, las comillas internas deben escaparse.
Devuelve la representación binaria conocida (WKB) o la representación hexadecimal binaria conocida (HexWKB)
asBinary(tjsonb,endian text='') → bytea asHexWKB(tjsonb,endian text='') → text
El resultado se codifica utilizando la codificación little-endian (NDR) o big-endian (XDR). Si no se especifica ninguna codificación, se utiliza la codificación de la máquina.
SELECT asBinary(tjsonb '"{\"vehicleId\": 1, \"location\": \"Point(1 2)\"}"@2001-01-01');
/* \x0142000138000000000000000200002008000080090000000a000000090000106c6f636174696f6e76
656869636c654964506f696e7428312032290020000000008001000040eba9c21c0000 */
SELECT asHexWKB(tjsonb '"{\"vehicleId\": 1, \"location\": \"Point(1 2)\"}"@2001-01-01');
/* 0142000138000000000000000200002008000080090000000A000000090000106C6F636174696F6E7665
6869636C654964506F696E7428312032290020000000008001000040EBA9C21C0000 */
Devuelve la representación JSON de características móviles (MF-JSON)
asMFJSON(text) → tjsonb
SELECT asMFJSON(tjsonb '[{"Position": "Point(1 1)"}@2001-01-01,
{"Position": "Point(2 2)"}@2001-01-02]');
/* {"type":"MovingJsonb","values":[{"Position": "Point(1 1)"},{"Position": "Point(2
2)"}],"datetimes":["2001-01-01T00:00:00","2001-01-02T00:00:00"],"lower_inc":true,"up
per_inc":true,"interpolation":"Step"} */
Entrada desde la representación de texto conocido (WKT)
tjsonbFromText(text) → tjsonb
SELECT tjsonbFromText(text '[{"vehicleId": 1, "location": "Point(1 1)"}@2001-01-01,
{"vehicleId": 1, "location": "Point(2 2)"}@2001-01-02]');
/* ["{\"location\": \"Point(1 1)\", \"vehicleId\": 1}"@2001-01-01, "{\"location\":
\"Point(2 2)\", \"vehicleId\": 1}"@2001-01-02] */
Entrada desde la representación binaria conocida (WKB) o desde la representación hexadecimal binaria conocida (HexWKB)
tjsonbFromBinary(bytea) → tjsonb tjsonbFromHexWKB(text) → tjsonb
SELECT tjsonbFromBinary(asBinary( tjsonb '[{"vehicleId": 1,
"location": "Point(1 2)"}@2001-01-01]'));
-- ["{\"location\": \"Point(1 2)\", \"vehicleId\": 1}"@2001-01-01]
SELECT tjsonbFromHexWKB(asHexWKB( tjsonb '[{"vehicleId": 1,
"location": "Point(1 2)"}@2001-01-01]'));
-- ["{\"location\": \"Point(1 2)\", \"vehicleId\": 1}"@2001-01-01]
Entrada desde la representación JSON de características móviles (MF-JSON)
tjsonbFromMFJSON(text) → tjsonb
SELECT tjsonbFromMFJSON('{"type": "MovingJsonb", "interpolation": "Step",
"values": [{"Position": "Point(1 1)"}, {"Position": "Point(2 2)"}],
"datetimes": ["2001-01-01T10:00:00", "2001-01-01T12:00:00"]}');
/* ["{\"Position\": \"Point(1 1)\"}"@2001-01-01 10:00:00, "{\"Position\": \"Point(2
2)\"}"@2001-01-01 12:00:00] */