PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres split string dengan tanda kutip ganda ke beberapa baris?

location string mirip dengan array teks. Ubah ke text[] dan tidak menyenangkan:

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)

Atau bahkan lebih sederhana, masukkan string ke jsonb dan gunakan 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<>biola.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara terbaik untuk menyimpan waktu sentuhan terakhir di Cassandra

  2. postgresql menghasilkan urutan tanpa celah

  3. Apakah Postgresql varchar dihitung menggunakan panjang karakter unicode atau panjang karakter ASCII?

  4. Fungsi Matematika PostgreSQL

  5. Bagaimana cara menyimpan file pdf di database postgresql menggunakan servlet?