PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak uniemożliwić PDO interpretację znaku zapytania jako symbolu zastępczego?

Użyj formularza wywołania funkcji. Według katalogów systemowych hstore ? operator używa exist funkcja:

regress=# select oprname, oprcode from pg_operator where oprname = '?';
 oprname | oprcode 
---------+---------
 ?       | exist
(1 row)

więc możesz pisać:

SELECT * FROM tbl WHERE exist(hst,'foo');

(Osobiście nie jestem wielkim fanem projektowania i dokumentacji hstore skoncentrowanej na operatorach, myślę, że odrzuca ona przydatne właściwości samodokumentowania interfejsu opartego na funkcjach bez żadnych rzeczywistych korzyści i zwykle używam jego wywołań funkcji, a nie operatorów. Po prostu ponieważ możesz zdefiniować operatory, nie oznacza, że ​​powinieneś.)



  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 wymusza unikalną dwukierunkową kombinację kolumn

  2. Uzyskiwanie wyników między dwiema datami w PostgreSQL

  3. Operator IN PostgreSQL ze słabą wydajnością podzapytania

  4. Najnowsze trendy PostgreSQL:najbardziej czasochłonne zadania i ważne wskaźniki do śledzenia

  5. Rails:Odmowa pozwolenia Postgres na tworzenie bazy danych na rake db:create:all