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

cara membuat pencarian suka di postgresql dan node js

Saya tidak tahu antarmuka node.js PostgreSQL dengan baik, tetapi saya pikir saya bisa melihat masalahnya. Ini adalah literal string SQL yang berisi placeholder bernomor:

'%$1%'

$1 di dalam string itu tidak akan diganti dengan nilai tag karena placeholder di dalam string sama sekali bukan placeholder, melainkan hanya substring yang kebetulan memiliki bentuk yang sama dengan placeholder.

Dua opsi yang biasa adalah:

  1. Tambahkan % wildcard dalam kode klien.
  2. Menggabungkan % wildcard ke string di dalam database.

Yang pertama akan terlihat seperti ini:

db.client.query("SELECT * FROM tags WHERE name LIKE $1", ['%' + tag + '%'], ...

dan yang kedua seperti ini:

db.client.query("SELECT * FROM tags WHERE name LIKE '%' || $1 || '%'", [tag], ...

Gunakan pendekatan mana pun yang Anda inginkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migrasi dari MySQL ke PostgreSQL

  2. PostgreSQL Upsert (Pada Konflik) dengan nilai yang sama di Sisipkan dan Perbarui

  3. menyimpan tahun dalam database

  4. Tantangan kueri rekursif - contoh orang tua/anak sederhana

  5. Mengapa \dt PostgreSQL hanya menampilkan tabel skema publik?