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

Postgres delt streng med dobbelte anførselstegn til flere rækker?

location streng ligner en tekstarray. Konverter den til text[] og unnest:

with my_data(id, location) as (
values 
    (1, '["Humboldt, TN","Medina, TN","Milan, TN"]')
)

select id, unnest(format('{%s}', trim(location, '[]'))::text[]) as location
from my_data

 id |   location   
----+--------------
  1 | Humboldt, TN
  1 | Medina, TN
  1 | Milan, TN
(3 rows)

Eller endnu enklere, cast strengen til jsonb og brug jsonb_array_elements_text() :

with my_data(id, location) as (
values 
    (1, '["Humboldt, TN","Medina, TN","Milan, TN"]')
)

select id, jsonb_array_elements_text(location::jsonb) as location
from my_data

Db<>violin.




  1. Kan ikke oprette forbindelse til vært MySQL-database på applikation, der er implementeret til CloudBees

  2. Kompleks IF-sætning med 3 tabeller

  3. Fjernelse af standardsporingen – Del 2

  4. Hvordan optimerer man MySQL Boolean Full-Text Search? (Eller hvad skal den erstattes med?) - C#