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

Cara membagi baris menjadi banyak baris di postgresql

Anda dapat menggunakan regexp_split_to_table dengan pandangan negatif ke depan untuk kerusakan;

SELECT "ID", regexp_split_to_table("Cars", '((, (?!damaged))| and )') "Cars" 
FROM mytable;

 ID |      Cars
----+-----------------
  1 | opel
  1 | honda
  1 | land rover
  2 | ford
  2 | porshe, damaged
  3 | volkswagen
  4 | opel
  4 | seat, damaged
(8 rows)

SQLfiddle untuk diuji .

EDIT:Untuk contoh baru Anda, regex harus sedikit diubah;

SELECT "ID", regexp_split_to_table("Cars", '(([,;] (?!damaged))|[,;]? and )') "Cars" 
FROM mytable;

SQLfiddle lain .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:NOT IN versus KECUALI perbedaan kinerja (diedit #2)

  2. SQLAlchemy memverifikasi koneksi SSL

  3. Kueri mengembalikan jumlah baris yang tepat

  4. Tidak dapat menggunakan tabel bernama pengguna di postgresql hibernate

  5. Oracle setara dengan Postgres 'DISTINCT ON?