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

PostgreSQL Terbalik SEPERTI

Kasus sederhana Anda dapat diselesaikan dengan kueri sederhana menggunakan ANY membangun dan ~* :

SELECT *
FROM   tbl
WHERE  col ~* ANY (string_to_array('The ships hung in the sky ... bricks don’t', ' '));

~* adalah operator pencocokan ekspresi reguler yang tidak peka huruf besar-kecil. Saya menggunakannya sebagai ganti ILIKE sehingga kami dapat menggunakan kata-kata asli dalam string Anda tanpa perlu memasukkan % untuk ILIKE . Hasilnya sama - kecuali kata-kata yang mengandung karakter khusus:%_\ untuk ILIKE dan !$()*+.:<=>?[\]^{|}- untuk pola ekspresi reguler. Anda mungkin perlu melarikan diri dari karakter khusus untuk menghindari kejutan. Berikut adalah fungsi untuk ekspresi reguler:

  • Fungsi Escape untuk ekspresi reguler atau pola LIKE

Tetapi saya memiliki keraguan yang mengganggu bahwa hanya itu yang Anda butuhkan. Lihat komentar saya. Saya menduga Anda memerlukan Pencarian Teks Lengkap dengan kamus yang cocok untuk bahasa alami Anda untuk memberikan kata dasar yang berguna ...

Terkait:

  • IN vs APAPUN operator di PostgreSQL
  • Variasi kinerja kueri SEPERTI PostgreSQL
  • Pencocokan pola dengan LIKE, SIMILAR TO atau ekspresi reguler di PostgreSQL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. String -> java.util.Date -> java.sql.Date (dengan cap waktu)

  2. Basis data default bernama postgres di server Postgresql

  3. Menggunakan Slot Replikasi PostgreSQL

  4. Bagaimana cara menggunakan beberapa pernyataan WITH dalam satu kueri PostgreSQL?

  5. docker postgres dengan data awal tidak bertahan selama komit