@@ -185,3 +185,66 @@ SELECT * FROM money_data;
185185 $123.46
186186(1 row)
187187
188+ -- Cast int4/int8 to money
189+ SELECT 1234567890::money;
190+ money
191+ -------------------
192+ $1,234,567,890.00
193+ (1 row)
194+
195+ SELECT 12345678901234567::money;
196+ money
197+ ----------------------------
198+ $12,345,678,901,234,567.00
199+ (1 row)
200+
201+ SELECT 123456789012345678::money;
202+ ERROR: bigint out of range
203+ SELECT 9223372036854775807::money;
204+ ERROR: bigint out of range
205+ SELECT (-12345)::money;
206+ money
207+ -------------
208+ -$12,345.00
209+ (1 row)
210+
211+ SELECT (-1234567890)::money;
212+ money
213+ --------------------
214+ -$1,234,567,890.00
215+ (1 row)
216+
217+ SELECT (-12345678901234567)::money;
218+ money
219+ -----------------------------
220+ -$12,345,678,901,234,567.00
221+ (1 row)
222+
223+ SELECT (-123456789012345678)::money;
224+ ERROR: bigint out of range
225+ SELECT (-9223372036854775808)::money;
226+ ERROR: bigint out of range
227+ SELECT 1234567890::int4::money;
228+ money
229+ -------------------
230+ $1,234,567,890.00
231+ (1 row)
232+
233+ SELECT 12345678901234567::int8::money;
234+ money
235+ ----------------------------
236+ $12,345,678,901,234,567.00
237+ (1 row)
238+
239+ SELECT (-1234567890)::int4::money;
240+ money
241+ --------------------
242+ -$1,234,567,890.00
243+ (1 row)
244+
245+ SELECT (-12345678901234567)::int8::money;
246+ money
247+ -----------------------------
248+ -$12,345,678,901,234,567.00
249+ (1 row)
250+