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

Как да попречите на PDO да тълкува въпросителния знак като заместител?

Използвайте формуляра за извикване на функция. Според системните каталози hstore ? операторът използва exist функция:

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

така че можете да напишете:

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

(Лично аз не съм голям фен на дизайна и документацията, ориентирани към операторите на hstore, мисля, че отхвърля полезните самодокументиращи свойства на базиран на функция интерфейс без реална полза и обикновено използвам неговите извиквания на функции, а не операторите. тъй като можете да дефинирате оператори, не означава, че трябва.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка в Ruby/PgSQL при стартиране на Rails:не може да се зареди такъв файл -- pg_ext (LoadError)

  2. Първични ключове за препращане към външни ключове на POSTGRESQL на две различни таблици

  3. GeoDjango на Windows:Не можа да се намери библиотеката GDAL / OSError:[WinError 126] Посоченият модул не може да бъде намерен

  4. Неуспешно колело за изграждане за psycopg2 - MacOSX с помощта на virtualenv и pip

  5. Защо само суперпотребител може да CREATE EXTENSION hstore, но не и на Heroku?