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

NULL utracone elementy podczas rzutowania wyniku unnest()

Funkcja Casting SRF (w klauzuli FROM) nie jest obsługiwana - nie można tam użyć żadnego operatora. Dozwolone jest tylko wywołanie funkcji.

rzut jest możliwy tylko w liście kolumn:

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)

Brakujący wiersz z wartości NULL jest prawdopodobnie błędem i należy go zgłosić

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)

Myślę, że nie ma powodu, dla którego NULL wiersze powinny być usuwane




  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 - Zapytanie działa dużo szybciej z enable_nestloop=false. Dlaczego planista nie postępuje właściwie?

  2. Postgresql k-najbliższy sąsiad (KNN) na wielowymiarowej kostce

  3. Wybierz z SUM() wielu kolumn i dołącz do postgreSQL

  4. Zapytania niestandardowe w Spring z JPA

  5. Jak uzyskać różnicę dwóch pól datetime w dniach i godzinach w widoku postgresql?