PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

как да направите подобно търсене в postgresql и node js

Не познавам толкова добре интерфейса на node.js PostgreSQL, но мисля, че виждам проблема. Това е SQL низов литерал, който съдържа номериран заместител:

'%$1%'

$1 вътре в този низ няма да бъде заменен със стойността на tag тъй като контейнерите в низове изобщо не са контейнери, те са просто поднизове, които случайно имат същата форма като контейнер.

Двете обичайни опции са:

  1. Добавете % заместващи символи в клиентския код.
  2. Свържете % заместващи символи върху низовете в базата данни.

Първият би изглеждал така:

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

а вторият така:

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

Използвайте подхода, който предпочитате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете последните 3 часа и групирайте по 5 минути

  2. Postgres enum в TypeORM

  3. Как да наблюдавате производителността на PostgreSQL 12 с OmniDB – част 1

  4. получаване на дата от клеймо за време в PostgreSQL

  5. Качване на изображения с помощта на Hibernate в PostgreSQL