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

NULL елементи се губят при предаване на резултат от unnest()

SRF функцията за прехвърляне (в клаузата FROM) не се поддържа - не можете да използвате никакъв оператор там. Разрешено е само извикване на функция.

прехвърлянето е възможно само в списъка с колони:

postgres=# SELECT * FROM unnest('{2,NULL,1}'::int[])::text;
ERROR:  syntax error at or near "::"
LINE 1: SELECT * FROM unnest('{2,NULL,1}'::int[])::text;
                                                 ^
postgres=# SELECT v::text FROM unnest('{2,NULL,1}'::int[]) g(v);
   v    
────────
      2
 [null]
      1
(3 rows)

Липсващият ред от NULL вероятно е грешка и трябва да се докладва

postgres=# SELECT unnest('{1,NULL,4}'::int[])::text;
 unnest 
────────
      1
 [null]
      4
(3 rows)

postgres=# SELECT unnest('{1,NULL,4}'::int[])::numeric;
 unnest 
────────
      1
      4
(2 rows)

Мисля, че няма причина NULL редовете да бъдат отпадани




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извлека средна стойност?

  2. PostgreSQL конвенции за именуване

  3. postgres sql, как да се увеличи, когато съществува null

  4. Как да зададете потребителска парола по подразбиране в PostgreSQL

  5. Heroku Postgresql с Google Datastudio