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

Cara mencari apakah seluruh kata ada dalam String di Postgres

Anda dapat menggunakan ekspresi reguler untuk ini:

where title ~* '(\mphone\M)|(\msamsung\M)'

Di atas hanya mengembalikan nilai di mana phone atau samsung adalah kata-kata yang lengkap. Pengubah regex\m dan \M buat polanya hanya cocok untuk seluruh kata.

Operator regex ~* membuat ini tidak peka huruf besar-kecil. Ekspresi di atas akan mengembalikan Samsung Phone atau Google Phone tapi bukan Sam's House .

Jika Anda ingin menambahkan lebih banyak kata, tambahkan saja menggunakan operator "atau" |

where title ~* '(\mphone\M)|(\msamsung\M)|(\mbhat\M)'

Perhatikan bahwa pencarian semacam ini tidak akan menjadi super cepat. Ekspresi reguler mahal, mereka tidak dapat menggunakan indeks apa pun.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gevent dan posgres:Koneksi asinkron gagal

  2. Bagaimana cara mengubah kunci utama dari integer ke serial?

  3. Apa perbedaan antara pg_table_size, pg_relation_size &pg_total_relation_size? (PostgreSQL)

  4. Permintaan Postgresql untuk memperbarui bidang menggunakan ekspresi reguler

  5. Zona waktu dengan waktu musim panas di PostgreSQL