sql >> Database teknologi >  >> RDS >> PostgreSQL

hvordan konverterer jeg tekst til jsonB

Ifølge Postgres-dokumentation :

IMHO du leverer en JSON-formateret streng, så skal du bruge den første metode.

to_json('Fred said "Hi."'::text)  --> "Fred said \"Hi.\""

Hvis du prøver at få et array af elementer ved hjælp af to_json(text), får du den næste fejl:

select *
from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::text));

Men hvis du tidligere har castet det til json:

select *
from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::json));

+--------------------------------------------+
|                    value                   |
+--------------------------------------------+
| {"field": 15, "value": "1", "operator": 0} |
+--------------------------------------------+
| {"field": 15, "value": "2", "operator": 0} |
+--------------------------------------------+
| 55                                         |
+--------------------------------------------+


  1. plv8 deaktiver execute and prepare funktion i eval()

  2. Hvordan kan jeg ændre en indekseret varchar(255) fra utf8 til utf8mb4 og stadig holde mig under nøglelængden på 767 max?

  3. Sender et array til mysql

  4. Opret en beregnet kolonne baseret på en anden kolonne i MySQL