sql >> Database >  >> RDS >> PostgreSQL

NULL emements verloren bij het casten van het resultaat van unnest()

Het casten van de SRF-functie (in de FROM-clausule) wordt niet ondersteund - u kunt daar geen enkele operator gebruiken. Alleen functie-aanroep is toegestaan.

een cast is alleen mogelijk in de kolomlijst:

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)

Ontbrekende rij van NULL is waarschijnlijk een bug en moet worden gerapporteerd

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)

Er is geen reden waarom NULL-rijen zouden moeten worden verwijderd, denk ik




  1. PictureBox-afbeelding invoegen in SQL Server-database

  2. Hoe verwijder je meerdere rijen uit de mysql-database met een selectievakje met PHP?

  3. Heroku Postgres:Te veel verbindingen. Hoe vernietig ik deze verbindingen?

  4. Het Halloween-probleem – Deel 2