sql >> Databasteknik >  >> RDS >> PostgreSQL

NULL-ement förlorade vid gjutning av resultatet av unnest()

Casting SRF-funktion (i FROM-sats) stöds inte - du kan inte använda någon operatör där. Endast funktionsanrop är tillåtet.

en rollbesättning är endast möjlig i kolumnlistan:

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)

Saknad rad från NULL är förmodligen en bugg och bör rapporteras

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)

Det finns ingen anledning till varför NULL-rader ska tas bort, tror jag




  1. Överföra en tabellvärderad parameter till en lagrad procedur

  2. Hur lagrar man .pdf-filer i MySQL som BLOB-filer med PHP?

  3. Pivotering av data med två kolumner

  4. Vad är det bästa sättet att implementera stavfelskorrigering i en sökning i php/mysql?