@@ -185,3 +185,66 @@ SELECT * FROM money_data;
185
185
$123.46
186
186
(1 row)
187
187
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
+