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

Защо NULL не може да се преобразува в null на JSON в postgreSQL?

to_json е маркиран като STRICT функция, тя е средна - връща NULL, когато някой параметър е NULL. Не съм сигурен дали внедряването е правилно, може би е грешка в PostgreSQL.

Актуализация:След обсъждане в пощенския списък на Postgres това не е грешката, а функцията - ситуацията не е проста поради факта, така че и двата езика поддържат NULL, но поведението на NULL е малко по-различно във всеки от тези езици. Трудно е да се реши дали SQL NULL трябва незабавно да се трансформира в JSON NULL и загубата на SQL да се държи незабавно. Ако имате нужда от различно поведение, можете да използвате SQL функция:

CREATE OR REPLACE FUNCTION to_json2(anyelement)
RETURNS json AS $$
SELECT COALESCE(to_json($1), json 'null')
$$ LANGUAGE sql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Причинено от:org.postgresql.util.PSQLException:ФАТАЛНО:оставащите слотове за връзка са запазени за връзки на суперпотребител без репликация

  2. Изчисляване на проценти със заявка GROUP BY

  3. Многоредова вложка с pg-promise

  4. Как да рестартирате Postgresql

  5. Как Log() работи в PostgreSQL