La fonction Casting SRF (dans la clause FROM) n'est pas prise en charge - vous ne pouvez y utiliser aucun opérateur. Seul l'appel de fonction est autorisé.
un cast n'est possible qu'en liste de colonnes :
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)
La ligne manquante de NULL est probablement un bogue et doit être signalée
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)
Il n'y a aucune raison pour que les lignes NULL soient supprimées, je pense