कास्टिंग 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 पंक्तियों को क्यों छोड़ा जाना चाहिए