-- -- MONEY -- -- Note that we assume lc_monetary has been set to C. --
CREATETABLE money_data (m money);
INSERTINTO money_data VALUES ('123'); SELECT * FROM money_data; SELECT m + '123'FROM money_data; SELECT m + '123.45'FROM money_data; SELECT m - '123.45'FROM money_data; SELECT m / '2'::money FROM money_data; SELECT m * 2FROM money_data; SELECT2 * m FROM money_data; SELECT m / 2FROM money_data; SELECT m * 2::int2FROM money_data; SELECT2::int2 * m FROM money_data; SELECT m / 2::int2FROM money_data; SELECT m * 2::int8FROM money_data; SELECT2::int8 * m FROM money_data; SELECT m / 2::int8FROM money_data; SELECT m * 2::float8FROM money_data; SELECT2::float8 * m FROM money_data; SELECT m / 2::float8FROM money_data; SELECT m * 2::float4FROM money_data; SELECT2::float4 * m FROM money_data; SELECT m / 2::float4FROM money_data;
-- All true SELECT m = '$123.00'FROM money_data; SELECT m != '$124.00'FROM money_data; SELECT m <= '$123.00'FROM money_data; SELECT m >= '$123.00'FROM money_data; SELECT m < '$124.00'FROM money_data; SELECT m > '$122.00'FROM money_data;
-- All false SELECT m = '$123.01'FROM money_data; SELECT m != '$123.00'FROM money_data; SELECT m <= '$122.99'FROM money_data; SELECT m >= '$123.01'FROM money_data; SELECT m > '$124.00'FROM money_data; SELECT m < '$122.00'FROM money_data;
SELECT cashlarger(m, '$124.00') FROM money_data; SELECT cashsmaller(m, '$124.00') FROM money_data; SELECT cash_words(m) FROM money_data; SELECT cash_words(m + '1.23') FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.45'); SELECT * FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.451'); SELECT * FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.454'); SELECT * FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.455'); SELECT * FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.456'); SELECT * FROM money_data;
DELETEFROM money_data; INSERTINTO money_data VALUES ('$123.459'); SELECT * FROM money_data;
-- special characters SELECT'(1)'::money; SELECT'($123,456.78)'::money;
-- test non-error-throwing API SELECT pg_input_is_valid('\x0001', 'money'); SELECT * FROM pg_input_error_info('\x0001', 'money'); SELECT pg_input_is_valid('192233720368547758.07', 'money'); SELECT * FROM pg_input_error_info('192233720368547758.07', 'money');
-- documented minimums and maximums SELECT'-92233720368547758.08'::money; SELECT'92233720368547758.07'::money;
-- Cast from money to numeric SELECT'12345678901234567'::money::numeric; SELECT'-12345678901234567'::money::numeric; SELECT'92233720368547758.07'::money::numeric; SELECT'-92233720368547758.08'::money::numeric;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.