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

Postgresql regexp_matches wewnątrz widoku zawsze zwraca null przy zapytaniu z PHP

To samo zapytanie

select  e'\\x353078'::bytea;

daje wyniki w różnych formatach w psql :

  bytea
----------
 \x353078

oraz w PgAdmin III :

  bytea
----------
 50x

Dokumentacja:

PgAdmin III (a także PgAdmin4) prawdopodobnie ze względów historycznych ustawia wartość bytea_output by escape podczas gdy domyślna wartość parametru to hex . Może to prowadzić do zamieszania (i jak widać prowadzi). Wygląda na to, że pgAdmin nie powinien zmieniać domyślnej wartości parametru.

Możesz zmienić parametr w swojej aplikacji, aby uzyskać takie samo zachowanie jak w PgAdmin:

set bytea_output to escape;

Oczywiście używając encode() jest również dobrym rozwiązaniem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. baza danych zmiany nazwy postgres nie działa

  2. Funkcja miesięcy między dwiema datami

  3. Jak usunąć pojedyncze cudzysłowy z tabeli w postgresql?

  4. Jak uzyskać PostgreSQL na serwerze VPS/serwerze dedykowanym?

  5. Funkcja array_append nie działa