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

Bagaimana cara melakukan kueri pencarian pada nilai kolom yang berisi string dengan nilai yang dipisahkan koma?

Anda dapat melakukan sesuatu seperti ini.

select name from zone_table where 
string_to_array(replace(tags,' ',''),',')@>
string_to_array(replace('down, 110.22.100.3',' ',''),',');

1) hapus spasi di string yang ada untuk pemisahan string_to_array yang tepat tanpa spasi di depan menggunakan replace

2)string_to_array mengonversi string Anda menjadi array yang dipisahkan dengan koma.

3) @> adalah contains operator

(ATAU)

Jika Anda ingin mencocokkan secara keseluruhan

select name from zone_table where POSITION('down, 110.22.100.3' in tags)!=0

Untuk pertandingan terpisah yang dapat Anda lakukan

select name from zone_table where POSITION('down' in tags)!=0 and 
POSITION('110.22.100.3' in tags)!=0

Selengkapnya tentang posisi di sini



  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:Mendapatkan stempel waktu berformat aneh dengan zona waktu

  2. Permintaan Psycopg2 mengembalikan Desimal('nilai')

  3. Ekstrak tanggal (yyyy/mm/dd) dari stempel waktu di PostgreSQL

  4. Laravel localhost berfungsi, tetapi heroku memberikan 500 kesalahan

  5. psycopg2 pada pohon kacang elastis - tidak dapat menggunakan aplikasi