{"id":490885,"date":"2026-08-13T18:41:00","date_gmt":"2026-08-13T18:41:00","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=490885"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=490885","title":{"rendered":"\u041f\u043e\u0447\u0435\u043c\u0443 \u0432 \u0411\u0414 \u043d\u0430 PostgreSQL \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0442\u0438\u043f numeric?"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f PostgreSQL \u043f\u043e <code>numeric<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0432\u0430 \u043f\u043b\u043e\u0445\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u044e\u0449\u0438\u0445\u0441\u044f <a href=\"https:\/\/www.postgresql.org\/docs\/current\/datatype-numeric.html\" rel=\"noopener noreferrer nofollow\">\u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f<\/a>:<\/p>\n<p>\u00abespecially recommended for storing monetary amounts and other quantities where exactness is required\u00bb \u2014 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435: \u00abcalculations on <code>numeric<\/code> values are <strong>very slow<\/strong> compared to the integer types, or to the floating-point types\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u0432\u0435\u043b\u0438\u0447\u0438\u043d \u0438 \u0442\u0443\u0442 \u0436\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0434\u043e\u0440\u043e\u0433\u043e.<\/p>\n<p>\u0414\u043b\u044f \u043c\u0435\u043d\u044f, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0421\u0423\u0411\u0414 \u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e. \u0415\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0438\u043f\u043e\u043c \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 <code>bigint<\/code>, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u043e\u0431\u043b\u0430\u0437\u043d: \u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0446\u0435\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043a\u043e\u043f\u0435\u0435\u043a \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u0443? \u042d\u0442\u043e \u0431\u044b \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u0432\u0435 \u043d\u0435\u0442? \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>double precision<\/code>?<\/p>\n<p>\u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0446\u0435\u043b\u043e\u0435, \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0442 \u043d\u0435\u0433\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442: \u0437\u0430\u043a\u043e\u043d, \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438, \u0447\u0442\u043e \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0443\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0438 \u0434\u0435-\u0444\u0430\u043a\u0442\u043e? \u0418\u043b\u0438 \u044d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0444\u043e\u043b\u044c\u043a\u043b\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438?<\/p>\n<p>\u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0431\u0437\u043e\u0440\u043d\u0443\u044e \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438 \u043a\u043e\u043f\u043d\u0451\u043c \u043f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438. \u042d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 AI-\u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438 \u0441\u0442\u0430\u043b\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u0447\u0435. \u0422\u0430\u043a \u0447\u0442\u043e \u0437\u0430\u0441\u0443\u0447\u0438\u043c \u0440\u0443\u043a\u0430\u0432\u0430 \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0447\u0440\u0435\u0437\u043c\u0435\u0440\u043d\u043e \u0441\u0443\u0445\u0438\u043c \u0438\u043b\u0438 \u0441\u043a\u0443\u0447\u043d\u044b\u043c &#8212; \u0442\u043e \u043e\u043d \u0442\u0430\u043a\u043e\u0439 \u0438 \u0435\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e.<\/p>\n<h3>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h3>\n<ul>\n<li>\n<p><a href=\"#sql-std\" rel=\"noopener noreferrer nofollow\">1. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#regulations\" rel=\"noopener noreferrer nofollow\">2. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#formats\" rel=\"noopener noreferrer nofollow\">3. \u0424\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#pay_sys\" rel=\"noopener noreferrer nofollow\">4. \u041f\u043b\u0430\u0442\u0435\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432\u0430\u043b\u044e\u0442\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#benches\" rel=\"noopener noreferrer nofollow\">5. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 TPC-\u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#vendors\" rel=\"noopener noreferrer nofollow\">6. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u044b, \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#erp\" rel=\"noopener noreferrer nofollow\">7. \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 ERP<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#direction\" rel=\"noopener noreferrer nofollow\">8. \u041a\u0443\u0434\u0430 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#outcomes\" rel=\"noopener noreferrer nofollow\">9. \u0412\u044b\u0432\u043e\u0434\u044b<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"sql-std\" id=\"sql-std\"><\/a><\/p>\n<h3>1. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL<\/h3>\n<p>\u0412 ISO SQL \u043d\u0435\u0442 \u0442\u0438\u043f\u0430 MONEY. \u041d\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u0430 \u2014 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 \u044f\u0437\u044b\u043a\u0430 SQL \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u0432\u0430\u043b\u044e\u0442\u044b. \u0422\u0438\u043f <code>money<\/code> \u0432 PostgreSQL \u0438 <code>money<\/code>\/<code>smallmoney<\/code> \u0432 SQL Server \u2014 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0430 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430.<\/p>\n<p>\u0417\u0430\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:<\/p>\n<ul>\n<li>\n<p>Exact numeric types: <code>NUMERIC<\/code>, <code>DECIMAL<\/code>, <code>SMALLINT<\/code>, <code>INTEGER<\/code>, <code>BIGINT<\/code>.<\/p>\n<\/li>\n<li>\n<p>Approximate numeric types: <code>FLOAT<\/code>, <code>REAL<\/code>, <code>DOUBLE PRECISION<\/code>.<\/p>\n<\/li>\n<li>\n<p>The decimal floating-point type: <code>DECFLOAT<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423 \u0442\u0438\u043f\u043e\u0432 <code>Numeric<\/code> \u0438 <code>Decimal<\/code> \u0435\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430.<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b 6.1 \u00abdata type\u00bb, Syntax Rules 28 \u0438 29:<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abNUMERIC specifies the data type exact numeric, with the decimal precision and scale specified by the precision and scale. 29) DECIMAL specifies the data type exact numeric, with the decimal scale specified by the scale and the implementation-defined (ID063) decimal precision equal to or greater than the value of the specified precision.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0414\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f: NUMERIC(15,2) \u2014 \u044d\u0442\u043e \u0436\u0451\u0441\u0442\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u043e\u0432\u043d\u043e \u043d\u0430 15 \u0446\u0438\u0444\u0440, DECIMAL(15,2) \u2014 \u043d\u0430 \u00ab\u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 15\u00bb. \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u0430 \u0442\u0438\u043f\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u0434\u0438\u043d, \u0447\u0435\u043c \u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <code>numeric<\/code> \u0432 PostgreSQL.<\/p>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0446\u0435\u043b\u043e\u0433\u043e. \u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0438\u0440\u0438\u043d\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 int64\/int128 \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u042d\u0442\u043e \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Arrow, SQL Server, DuckDB \u0438 \u043f\u0440.<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b 4.5.2 \u00abCharacteristics of numbers\u00bb:<\/summary>\n<div class=\"spoiler__content\">\n<p> \u00abAn exact numeric type has a precision P and a scale S. P is a positive integer that determines the number of significant digits in a particular radix R, where R is either 2 or 10. S is a non-negative integer. Every value of an exact numeric type of scale S is of the form n \u00d7 10\u207b\u02e2, where n is an integer such that \u2212R\u1d3e \u2264 n &lt; R\u1d3e.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0418\u0442\u043e\u0433\u043e: \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f <code>DECIMAL<\/code>\/<code>NUMERIC<\/code> \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e SQL (\u0444\u0438\u0447\u0430 E011-03), \u0430 <code>DECFLOAT<\/code> \u2014 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f (T076), \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 <code>BIGINT<\/code>.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0442\u0438\u043f\u0443 <code>numeric<\/code> \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043d\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443: \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u044b \u0436\u0451\u0441\u0442\u043a\u043e. \u041c\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0430\u043d \u043d\u0430 \u043e\u0442\u043a\u0443\u043f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p><a class=\"anchor\" name=\"regulations\" id=\"regulations\"><\/a><\/p>\n<h3>2. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b<\/h3>\n<p>\u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442 \u0421\u043e\u0432\u0435\u0442\u0430 \u0415\u0421 \u2116 1103\/97 <a href=\"https:\/\/eur-lex.europa.eu\/legal-content\/EN\/TXT\/HTML\/?uri=CELEX:31997R1103\" rel=\"noopener noreferrer nofollow\">\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0435\u0432\u0440\u043e<\/a> \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0448\u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440 \u0431\u0435\u0437 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u0435\u0447\u0435\u043d\u0438\u044f, \u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0422\u0438\u043f <code>float<\/code> \u043f\u043e\u0434 \u0442\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f 4 \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0430 \u0437\u0430\u0434\u0430\u0451\u0442 \u0441\u0430\u043c\u0443 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0443 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430: \u043a\u0443\u0440\u0441 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0441 \u0448\u0435\u0441\u0442\u044c\u044e \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u043c\u0438 \u0446\u0438\u0444\u0440\u0430\u043c\u0438, \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u0438\u043b\u0438 \u0443\u0441\u0435\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e, \u0430 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u044b \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0438\u0434\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0435\u0432\u0440\u043e. \u0418 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0440\u0430\u0441\u0447\u0451\u0442\u0430 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043b\u0438\u0448\u044c \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043e\u043d \u0434\u0430\u0451\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<blockquote>\n<p>\u00abThe conversion rates shall be adopted with six significant figures.\u00bb<\/p>\n<p>\u00abThe conversion rates <strong>shall not be rounded or truncated<\/strong> when making conversions.\u00bb<\/p>\n<p>\u00abInverse rates derived from the conversion rates shall not be used.\u00bb<\/p>\n<p>\u00abMonetary amounts to be converted from one national currency unit into another shall first be converted into a monetary amount expressed in the euro unit, which amount may be rounded to not less than three decimals\u2026 <strong>No alternative method of calculation may be used unless it produces the same results.<\/strong>\u00bb<\/p>\n<\/blockquote>\n<\/div>\n<\/details>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f 5 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e, \u0447\u0435\u0433\u043e \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u043d\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432\u043e\u043e\u0431\u0449\u0435: <strong>\u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u043e\u0432\u043d\u043e \u043d\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435<\/strong>. \u0421\u0443\u043c\u043c\u044b \u043a \u0443\u043f\u043b\u0430\u0442\u0435 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0430, \u0430 \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442 \u0434\u0430\u043b \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u2014 \u0432\u0432\u0435\u0440\u0445.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abMonetary amounts to be paid or accounted for when a rounding takes place after a conversion into the euro unit pursuant to Article 4 shall be rounded up or down to the nearest cent. \u2026 <strong>If the application of the conversion rate gives a result which is exactly half-way, the sum shall be rounded up.<\/strong>\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0411\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u0439 \u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432 \u0434\u043e\u043b\u044f\u0445 \u043f\u0435\u043d\u043d\u0438. HMRC \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u041d\u0414\u0421 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0442\u0440\u0451\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0443: \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u043f\u0435\u043d\u043d\u0438 \u2014 \u0432\u043d\u0438\u0437, \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u0432\u0432\u0435\u0440\u0445 (<a href=\"https:\/\/www.gov.uk\/hmrc-internal-manuals\/vat-trader-records\/vatrec12030\" rel=\"noopener noreferrer nofollow\">HMRC VAT Trader Records, VATREC12030<\/a>).<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abIf the VAT on any transaction comes to less than 0.5 of one penny, it should be rounded down. If the VAT comes to 0.5 of one penny or more, it should be rounded up.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0443 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u00ab\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f\u00bb. \u041d\u043e \u0438\u0437 \u0438\u0445 \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435, \u0438 \u043e\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ol>\n<li>\n<p><strong>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0431\u044b\u0442\u044c \u0442\u043e\u0447\u043d\u044b\u043c \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u044b.<\/strong> \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 <code>float<\/code> \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 0,01 \u0442\u043e\u0447\u043d\u043e, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430 <code>double precision<\/code> \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442 \u044d\u0442\u043e \u043f\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u2014 \u043d\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0435<\/strong>, \u0430 \u043d\u0435 \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438. \u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442 \u0415\u0421 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0436\u0451\u0441\u0442\u043a\u043e: \u043a\u0443\u0440\u0441\u044b \u00abshall not be rounded or truncated\u00bb, \u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u0446\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u043e\u0432\u043d\u043e \u043d\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u044f\u0432\u043d\u043e.<\/strong> \u0418 \u0415\u0421, \u0438 HMRC \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u044e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 <code>0,5<\/code>: \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u0432\u0432\u0435\u0440\u0445. \u0422\u0438\u043f, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0438\u0447\u044c\u0435\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a\u0443\u044e \u043d\u043e\u0440\u043c\u0443 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0430\u043b\u044e\u0442\u044b<\/strong>, \u0430 \u043d\u0435 \u043e\u0442 \u0442\u0438\u043f\u0430: \u0442\u0440\u0438 \u0437\u043d\u0430\u043a\u0430 \u0443 \u0415\u0421 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0435, \u0434\u043e\u043b\u0438 \u043f\u0435\u043d\u043d\u0438 \u0443 HMRC. \u0417\u043d\u0430\u0447\u0438\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043c\u043e\u0434\u0435\u043b\u0438, \u0430 \u043d\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439, \u0437\u0430\u0448\u0438\u0442\u043e\u0439 \u0432 \u0441\u0445\u0435\u043c\u0443.<\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u0430\u043a\u043e\u043d \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0438\u043f, \u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435. \u0412 PostgreSQL \u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 <code>numeric<\/code>: \u0442\u043e\u0447\u043d\u043e\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043d\u0435\u044f\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u044f\u0432\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043c\u0430\u0441\u0448\u0442\u0430\u0431.<\/p>\n<p><strong>\u0418 \u0442\u0443\u0442 \u0436\u0435 \u0432\u044b\u043b\u0435\u0437\u0430\u0435\u0442 \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b.<\/strong> \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u043a\u043e\u043d \u0437\u0430\u0434\u0430\u0451\u0442 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e, \u0432 \u0421\u0423\u0411\u0414 \u043d\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u2014 \u043e\u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438, \u0438 \u043c\u0435\u0436\u0434\u0443 \u0442\u0438\u043f\u0430\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. Bill Schneider <a href=\"https:\/\/wrschneider.github.io\/2022\/03\/08\/spark-rounding.html\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442<\/a> \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 Spark \u0438 SQL Server \u043d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u043e\u0434\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0435\u0442, \u0434\u0440\u0443\u0433\u0430\u044f \u0443\u0441\u0435\u043a\u0430\u0435\u0442. IBM \u0432 Db2 \u043f\u043e\u0448\u043b\u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e <a href=\"https:\/\/www.ibm.com\/docs\/en\/db2-for-zos\/12.0.0?topic=registers-current-decfloat-rounding-mode\" rel=\"noopener noreferrer nofollow\">\u0432\u044b\u043d\u0435\u0441\u043b\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443<\/a> \u2014 \u0441\u0435\u043c\u044c \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u00ab\u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0439 \u0432\u0432\u0435\u0440\u0445 \u043d\u0430 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435\u00bb \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0430\u043c \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0421\u0423\u0411\u0414: \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u044f\u0432\u043d\u043e \u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043a\u0430\u043a \u0442\u043e\u0433\u043e \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0443\u043d\u043a\u0442 2.<\/p>\n<p><a class=\"anchor\" name=\"formats\" id=\"formats\"><\/a><\/p>\n<h3>3. \u0424\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/h3>\n<p>\u0417\u0430\u043a\u043e\u043d \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438, \u043d\u043e \u043d\u0435 \u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0410 \u0432\u043e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f: \u0438\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435, \u0438\u043d\u0430\u0447\u0435 \u0434\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0439\u043c\u0443\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<p><strong>ISO 20022<\/strong> \u2014 \u044d\u0442\u043e \u0442\u043e, \u043d\u0430 \u0447\u0451\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 SWIFT, SEPA \u0438 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0451\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0421\u0445\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043b\u0435\u0436\u0430\u0442 \u0432 <a href=\"https:\/\/www.iso20022.org\/iso-20022-message-definitions\" rel=\"noopener noreferrer nofollow\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435<\/a>, \u0438 \u0434\u0435\u043d\u0435\u0436\u043d\u0430\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u0432 \u043d\u0438\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0442\u0430\u043a (<a href=\"https:\/\/github.com\/kedder\/ofxstatement-iso20022\/blob\/master\/doc\/camt.053.001.05.xsd\" rel=\"noopener noreferrer nofollow\">camt.053<\/a>):<\/p>\n<pre><code>&lt;xs:simpleType name=\"ActiveCurrencyAndAmount_SimpleType\"&gt;    &lt;xs:restriction base=\"xs:decimal\"&gt;        &lt;xs:totalDigits value=\"18\"\/&gt;        &lt;xs:fractionDigits value=\"5\"\/&gt;    &lt;\/xs:restriction&gt;&lt;\/xs:simpleType&gt;&lt;xs:complexType name=\"ActiveCurrencyAndAmount\"&gt;    &lt;xs:extension base=\"ActiveCurrencyAndAmount_SimpleType\"&gt;        &lt;xs:attribute name=\"Ccy\" type=\"ActiveCurrencyCode\" use=\"required\"\/&gt;    &lt;\/xs:extension&gt;&lt;\/xs:complexType&gt;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e \u044d\u0442\u043e <code>NUMERIC(18,5)<\/code> \u043f\u043b\u044e\u0441 <strong>\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439<\/strong> \u043a\u043e\u0434 \u0432\u0430\u043b\u044e\u0442\u044b, \u043f\u0440\u0438\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e: \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 <code>Ccy<\/code> \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e. \u041f\u0440\u044f\u043c\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u0435\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0435\u0442, \u043d\u043e \u0441\u0443\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u0430: \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c JSON-\u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0435 \u0441\u0443\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u0435\u043d.<\/p>\n<details class=\"spoiler\">\n<summary>ISO 20022 JSON Schema draft, 10.06.2025<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abNumber type are represented as strings because there was a preference for validating the total digits and fraction digits in the schema.\u00bb<\/p>\n<\/div>\n<\/details>\n<p><strong>FIX<\/strong> (\u0431\u0438\u0440\u0436\u0435\u0432\u0430\u044f \u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044f) \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e: \u0442\u0438\u043f \u0442\u0430\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <code>float<\/code>, \u043d\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0430 \u044d\u0442\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0442. \u0412 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c FIX 4.4 <code>float<\/code> \u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0446\u0438\u0444\u0440 \u0441 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0437\u043d\u0430\u043a\u043e\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438, \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0438 \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0445 \u0446\u0438\u0444\u0440.<\/p>\n<details class=\"spoiler\">\n<summary>FIX 4.4 dictionary, Onix<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abSequence of digits with optional decimal point and sign character\u2026 All float fields must accommodate up to fifteen significant digits.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0412 FIXML \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 <a href=\"https:\/\/fiximate.fixtrading.org\/en\/FIX.Latest\/fixml_datatypes.html\" rel=\"noopener noreferrer nofollow\">\u044f\u0432\u043d\u0430\u044f<\/a>:<br \/> <code>float<\/code>, <code>Qty<\/code>, <code>Price<\/code>, <code>Amt<\/code>, <code>Percentage<\/code> \u2192 <code>xs:decimal<\/code>.<\/p>\n<p>\u0410 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 SBE \u2014 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0438\u0440\u0436\u0438 \u0433\u043e\u043d\u044f\u044e\u0442 \u043f\u043e\u0442\u043e\u043a\u0438 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a, \u2014 \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0446\u0435\u043d \u0438 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0433\u043e, \u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0446\u0435\u043d\u0430\u043c\u0438 \u0438\u043b\u0438 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u043c\u0438 \u0441\u0443\u043c\u043c\u0430\u043c\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>FIX SBE v1.0 RC4, Field Encoding<\/summary>\n<div class=\"spoiler__content\">\n<blockquote>\n<p>\u00abDecimal encodings should be used for prices and related monetary data types like PriceOffset and Amt.\u00bb<\/p>\n<p>\u00abBinary floating point encodings are compatible with IEEE Standard for Floating-Point Arithmetic (IEEE 754-2008). They should be used for floating point numeric fields <strong>that do not represent prices or monetary amounts<\/strong>.\u00bb<\/p>\n<\/blockquote>\n<\/div>\n<\/details>\n<p><a class=\"anchor\" name=\"pay_sys\" id=\"pay_sys\"><\/a><\/p>\n<h3>4. \u041f\u043b\u0430\u0442\u0435\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432\u0430\u043b\u044e\u0442\u044b<\/h3>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0435\u0436\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043c \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u043d\u0438 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435, \u043d\u0438 \u0432 \u0437\u0430\u043a\u043e\u043d\u0435. \u041f\u043b\u0430\u0442\u0451\u0436\u043d\u0430\u044f \u0438\u043d\u0434\u0443\u0441\u0442\u0440\u0438\u044f \u0434\u0435\u043d\u044c\u0433\u0438 \u0434\u0440\u043e\u0431\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0432\u043e\u043e\u0431\u0449\u0435. \u0410 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0437\u0434\u0435\u0441\u044c \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0432 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u0438 \u0442\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445 \u0418\u0422, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u044d\u0442\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b \u0432 60\u201370-\u0445 \u0433\u0433.<\/p>\n<p><strong>ISO 8583<\/strong>, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043a\u0430\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439, \u0437\u0430\u0434\u0430\u0451\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 DE 4 \u00abAmount, transaction\u00bb \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c <code><strong>n 12<\/strong><\/code> \u2014 \u0434\u0432\u0435\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u0446\u0438\u0444\u0440, \u0438 \u0432\u0441\u0451. \u0412 \u0447\u0438\u0441\u0442\u043e \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u043c \u043f\u043e\u043b\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0433\u0434\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u2014 \u0438\u0437 \u043f\u043e\u043b\u044f \u00abCurrency code\u00bb. \u0421\u0443\u043c\u043c\u0430 \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0435 \u2014 \u0446\u0435\u043b\u043e\u0435, \u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0435\u0433\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0432\u0430\u043b\u044e\u0442\u0430. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0443 \u0432\u0430\u043b\u044e\u0442 \u0440\u0430\u0437\u043d\u043e\u0435: \u0443 JPY, KRW \u0438 VND \u2014 \u043d\u043e\u043b\u044c, \u0443 USD, EUR \u0438 GBP \u2014 \u0434\u0432\u0430, \u0430 \u0443 BHD, KWD, OMR, TND \u0438 JOD \u2014 \u0442\u0440\u0438.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432 \u043f\u043b\u0430\u0442\u0435\u0436\u0430\u0445 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u2014 \u044d\u0442\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432\u0430\u043b\u044e\u0442\u044b, \u0430 \u043d\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0447\u0438\u0441\u043b\u0430. \u041e\u043d \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c; \u043e\u043d \u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u043b\u0435, \u0430 \u0447\u0438\u0441\u043b\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0446\u0435\u043b\u044b\u043c.<\/p>\n<p>\u041f\u043b\u0430\u0442\u0451\u0436\u043d\u044b\u0435 HTTP-API \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435, \u0430 \u0442\u0435, \u043a\u0442\u043e \u043f\u0440\u0438\u0448\u0451\u043b \u043f\u043e\u0437\u0436\u0435 \u0438 \u043d\u0435 \u0438\u0437 \u043a\u0430\u0440\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430, \u0447\u0430\u0441\u0442\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \/ \u0444\u043e\u0440\u043c\u0430\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0412\u0435\u043b\u0438\u0447\u0438\u043d\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0424\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">ISO 8583<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">binary<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/github.com\/FIXTradingCommunity\/fix-simple-binary-encoding\/blob\/master\/v1-0-RC4\/doc\/02FieldEncoding.md\" rel=\"noopener noreferrer nofollow\">FIX SBE<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">binary<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/docs.stripe.com\/api\/charges\/object\" rel=\"noopener noreferrer nofollow\">Stripe<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/docs.adyen.com\/development-resources\/currency-codes\/\" rel=\"noopener noreferrer nofollow\">Adyen<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/developer.squareup.com\/reference\/square\/objects\/Money\" rel=\"noopener noreferrer nofollow\">Square<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/developer.tbank.ru\/eacq\/api\/init\" rel=\"noopener noreferrer nofollow\">T-Bank<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435, \u043a\u043e\u043f\u0435\u0439\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/raw.githubusercontent.com\/googleapis\/googleapis\/master\/google\/type\/money.proto\" rel=\"noopener noreferrer nofollow\">Google <code>Money<\/code><\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0446\u0435\u043b\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">protobuf (binary), JSON \u0432 REST<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/raw.githubusercontent.com\/paypal\/paypal-rest-api-specifications\/main\/openapi\/checkout_orders_v2.json\" rel=\"noopener noreferrer nofollow\">PayPal<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/shopify.dev\/docs\/api\/admin-graphql\/latest\/scalars\/Decimal\" rel=\"noopener noreferrer nofollow\">Shopify<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON (GraphQL)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/yookassa.ru\/developers\/using-api\/response-handling\/response-format\" rel=\"noopener noreferrer nofollow\">\u042eKassa<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/developer.paypal.com\/braintree\/docs\/reference\/request\/transaction\/sale\" rel=\"noopener noreferrer nofollow\">Braintree<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/github.com\/transferwise\/api-docs\/blob\/master\/source\/includes\/reference\/_quotes.md\" rel=\"noopener noreferrer nofollow\">Wise<\/a> (legacy v1)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/raw.githubusercontent.com\/plaid\/plaid-openapi\/master\/2020-09-14.yml\" rel=\"noopener noreferrer nofollow\">Plaid<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 (<code>double<\/code>)<\/p>\n<\/td>\n<td>\n<p align=\"left\">JSON<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/github.com\/kedder\/ofxstatement-iso20022\/blob\/master\/doc\/camt.053.001.05.xsd\" rel=\"noopener noreferrer nofollow\">ISO 20022<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 (<code>decimal<\/code>)<\/p>\n<\/td>\n<td>\n<p align=\"left\">XML<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/fiximate.fixtrading.org\/en\/FIX.Latest\/fix_datatypes.html\" rel=\"noopener noreferrer nofollow\">FIX 4.x \/ Latest<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435, \u0442\u0435\u043a\u0441\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u0435\u043a\u0441\u0442 (tag=value)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0418\u0437 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u044b\u043b\u0435\u0437\u0430\u0435\u0442 \u0442\u0440\u0435\u0442\u0438\u0439 \u0441\u043b\u043e\u0439 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0434\u0443\u043c\u0430\u044e\u0442. \u0421\u043f\u043e\u0440\u044f\u0442 \u043f\u0440\u043e <strong>\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435<\/strong> \u2014 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c\u0430 \u043b\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0430. \u0418\u043d\u043e\u0433\u0434\u0430 \u0434\u043e\u0445\u043e\u0434\u044f\u0442 \u0434\u043e <strong>\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439<\/strong> \u2014 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c, \u0442\u043e\u0447\u043a\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0430 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435. \u041d\u043e \u0435\u0441\u0442\u044c \u0435\u0449\u0451 <strong>\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/strong>: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 \u0433\u0440\u0430\u043d\u0438\u0446\u0443, \u0433\u0434\u0435 \u0435\u0433\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043d\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0438 \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0435.<\/p>\n<p>\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0438\u043d\u0430\u0447\u0435, \u0447\u0435\u043c \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0432\u0443\u0445. \u0417\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u0430 \u043d\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435: \u0434\u0432\u0435 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0441\u043e\u0439\u0442\u0438\u0441\u044c \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438, \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0446\u0438\u0444\u0440\u044b. \u0418 \u044d\u0442\u043e\u043c\u0443 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u2014 <strong>\u0442\u043e\u0447\u043d\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u043f\u043b\u044e\u0441 \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/strong>. \u041d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0446\u0435\u043b\u044b\u0435 \u00ab\u0442\u043e\u0447\u043d\u0435\u0435\u00bb, \u0430 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0442\u0438\u043f, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u044f\u0437\u044b\u043a\u0438 \u0438 \u0432\u0441\u0435 \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u0431\u0435\u0437 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u041c\u0430\u0441\u0448\u0442\u0430\u0431 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0434\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u0440\u043e\u0433\u043e\u0439: \u0432 \u0441\u0445\u0435\u043c\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 (Arrow, Parquet, FIX SBE), \u0432 \u0441\u043e\u0441\u0435\u0434\u043d\u0435\u043c \u043f\u043e\u043b\u0435 (<code>units<\/code> + <code>nanos<\/code> \u0443 Google) \u0438\u043b\u0438 \u0432 \u043a\u043e\u0434\u0435 \u0432\u0430\u043b\u044e\u0442\u044b (ISO 8583, Stripe, Adyen).<\/p>\n<p>\u0422\u0430\u043a \u0447\u0442\u043e \u043f\u043b\u0430\u0442\u0451\u0436\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f \u043d\u0435 \u043e\u0442\u0432\u0435\u0440\u0433\u0430\u0435\u0442 \u2014 \u043e\u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u043d\u0435\u043c\u0443 \u0442\u0440\u0435\u0442\u044c\u0435, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u043d\u0438 \u0432 \u0437\u0430\u043a\u043e\u043d\u0435, \u043d\u0438 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 SQL.<\/p>\n<p><a class=\"anchor\" name=\"benches\" id=\"benches\"><\/a><\/p>\n<h3>5. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 TPC-\u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438<\/h3>\n<p>\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u2014 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0440\u043e\u0434\u0430: \u043e\u043d\u0438 \u043d\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442, \u043a\u0430\u043a \u043d\u0430\u0434\u043e, \u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e\u0442 \u0442\u043e, \u043d\u0430 \u0447\u0451\u043c \u0432\u0435\u043d\u0434\u043e\u0440\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0418 \u0442\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0441\u043b\u043e\u0435\u043d\u0438\u0435. \u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a TPC-C \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 SQL.<\/p>\n<details class=\"spoiler\">\n<summary>Standard Specification Rev. 5.11, \u043a\u043b\u0430\u0443\u0437\u0430 1.3.1<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abNumeric fields that contain monetary values (W_YTD, D_YTD, C_CREDIT_LIM, C_BALANCE, C_YTD_PAYMENT, H_AMOUNT, OL_AMOUNT, I_PRICE) <strong>must use data types that are defined by the DBMS as being an exact numeric data type<\/strong> or that satisfy the ANSI SQL Standard definition of being an exact numeric representation.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0422\u043e \u0436\u0435 \u0432 TPC-E, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u0436\u0435: \u0442\u0430\u043c \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c\u044e \u2014 \u0431\u0430\u043b\u0430\u043d\u0441 \u043a\u0430\u043a <code>SENUM(12,2)<\/code>, \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u044b \u043a\u0430\u043a <code>SENUM(15,2)<\/code>, \u2014 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c <strong>\u0442\u043e\u0447\u043d\u043e\u0435<\/strong> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.<\/p>\n<details class=\"spoiler\">\n<summary>v1.14.0, \u043a\u043b\u0430\u0443\u0437\u0430 2.2.1<\/summary>\n<div class=\"spoiler__content\">\n<blockquote>\n<p>\u00abENUM and SENUM\u2026 must be implemented using a Native Data Type which provides <strong>exact representation<\/strong> of at least n Digits of precision after the decimal place.\u00bb<\/p>\n<p>\u00abBALANCE_T is defined as SENUM(12,2)\u2026 FIN_AGG_T is defined as SENUM(15,2)\u2026\u00bb<\/p>\n<\/blockquote>\n<\/div>\n<\/details>\n<p>\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0443, \u2014 TPC-H \u0438 TPC-DS \u2014 \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0414\u043b\u044f <code>Integer<\/code> \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0436\u0451\u0441\u0442\u043a\u043e, \u0430 \u0434\u043b\u044f <code>Decimal<\/code> \u043d\u0435\u0442: \u0432 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430\u0445 \u0434\u043e\u043f\u0443\u0441\u043a \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 1% (AVG \u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f) \u0438 \u00abwithin $100\u00bb (SUM). \u0422\u043e\u0447\u043d\u043e\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 COUNT.<\/p>\n<details class=\"spoiler\">\n<summary>TPC-H v3.0.1, \u043a\u043b\u0430\u0443\u0437\u0430 1.3.1<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abDecimal means that the column must be able to represent values in the range \u22129,999,999,999.99 to +9,999,999,999.99 in increments of 0.01; the values can be <strong>either represented exactly or interpreted to be in this range<\/strong>\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434: \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e, \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u2014 \u044f\u0432\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0435. \u0422\u0430\u043a\u043e\u0435 \u043f\u043e\u0441\u043b\u0430\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u043a \u00ab\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439\u00bb.<\/p>\n<p><a class=\"anchor\" name=\"vendors\" id=\"vendors\"><\/a><\/p>\n<h3>6. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u044b, \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438<\/h3>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u0438\u0448\u0443\u0442 \u0442\u0435, \u043a\u0442\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c: \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0430\u043c\u0438\u0445 \u0421\u0423\u0411\u0414 \u0438 \u0430\u0432\u0442\u043e\u0440\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u043f\u043e\u0440\u0430\u0445 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0421 \u0432\u0435\u043d\u0434\u043e\u0440\u0430\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u0430\u044f. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f <a href=\"https:\/\/www.postgresql.org\/docs\/current\/datatype-numeric.html\" rel=\"noopener noreferrer nofollow\">PostgreSQL<\/a>, <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/data-types\/float-and-real-transact-sql\" rel=\"noopener noreferrer nofollow\">SQL Server<\/a>, <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.4\/en\/fixed-point-types.html\" rel=\"noopener noreferrer nofollow\">MySQL<\/a> \u0438 <a href=\"https:\/\/speleotrove.com\/decimal\/decifaq1.html\" rel=\"noopener noreferrer nofollow\">\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b IBM<\/a> \u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c: \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u0447\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442, \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u044b \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u044f\u043c\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c. \u041d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0435\u0433\u043e \u0432 \u044d\u0442\u0438\u0445 \u0442\u0435\u043a\u0441\u0442\u0430\u0445 \u043d\u0435\u0442. \u041d\u0438 \u043e\u0434\u0438\u043d \u0432\u0435\u043d\u0434\u043e\u0440 \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u00ab\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>numeric<\/code>\u00bb \u2014 \u0432\u0441\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u044e\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u0433\u043e, \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0432\u044b\u0431\u043e\u0440 \u043c\u0435\u0436\u0434\u0443 \u0442\u043e\u0447\u043d\u044b\u043c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u043c \u0442\u0438\u043f\u043e\u043c \u0438 \u0446\u0435\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0435\u0434\u0438\u043d\u0438\u0446 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c.<\/p>\n<p>\u0420\u043e\u0432\u043d\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0443 \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432, \u0438 \u044d\u0442\u043e, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u044e\u0440\u043f\u0440\u0438\u0437 \u0434\u043b\u044f \u043c\u0435\u043d\u044f: \u0438\u0445 \u043e\u0431\u044b\u0447\u043d\u043e \u0446\u0438\u0442\u0438\u0440\u0443\u044e\u0442 \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 <code>decimal<\/code>, \u0430 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043e\u043d\u0438 \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0434\u0440\u0443\u0433\u043e\u0435.<\/p>\n<p><strong>\u0414\u0436\u043e\u0448\u0443\u0430 \u0411\u043b\u043e\u0445<\/strong> \u0432 \u00ab<a href=\"https:\/\/www.informit.com\/store\/effective-java-9780134685991\" rel=\"noopener noreferrer nofollow\">Effective Java<\/a>\u00bb (3-\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435, Addison-Wesley; item 60 \u00abAvoid float and double if exact answers are required\u00bb) \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 <code>float<\/code> \u0438 <code>double<\/code> \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u0447\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442. \u041d\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u043d \u0441\u0442\u0430\u0432\u0438\u0442 <code>BigDecimal<\/code> \u0438 \u0446\u0435\u043b\u044b\u0435 \u0442\u0438\u043f\u044b <strong>\u043d\u0430 \u0440\u0430\u0432\u043d\u044b\u0445<\/strong>: <code>BigDecimal<\/code> \u2014 \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0437\u0430 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441\u043b\u0435\u0434\u0438\u043b\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0438 \u0432\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0437\u0430 \u044d\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e\u043c \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e; \u0446\u0435\u043b\u043e\u0435 \u2014 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430. \u0418 \u0434\u0430\u0451\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443: \u0434\u043e \u0434\u0435\u0432\u044f\u0442\u0438 \u0437\u043d\u0430\u043a\u043e\u0432 \u0445\u0432\u0430\u0442\u0438\u0442 <code>int<\/code>, \u0434\u043e \u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u0438 \u2014 <code>long<\/code>.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abIn summary, don&#8217;t use float or double for any calculations that require an exact answer. Use BigDecimal if you want the system to keep track of the decimal point and you don&#8217;t mind the inconvenience and cost of not using a primitive type\u2026 <strong>If performance is of the essence\u2026 use int or long.<\/strong> If the quantities don&#8217;t exceed nine decimal digits, you can use int; if they don&#8217;t exceed eighteen digits, you can use long.\u00bb<\/p>\n<\/div>\n<\/details>\n<p><strong>\u041c\u0430\u0440\u0442\u0438\u043d \u0424\u0430\u0443\u043b\u0435\u0440<\/strong> \u0432 <a href=\"https:\/\/www.informit.com\/store\/patterns-of-enterprise-application-architecture-9780321127426\" rel=\"noopener noreferrer nofollow\">Patterns of Enterprise Application Architecture<\/a> \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u0434\u0435\u043d\u0435\u0436\u043d\u0443\u044e \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0443 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d <a href=\"https:\/\/martinfowler.com\/eaaCatalog\/money.html\" rel=\"noopener noreferrer nofollow\">Money<\/a> \u2014 \u0438 \u0441\u0443\u0442\u044c \u0435\u0433\u043e \u043d\u0435 \u0432 \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u0438\u043f\u0430, \u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u0443\u043c\u043c\u0430 \u0438 \u0432\u0430\u043b\u044e\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0435\u0437\u0434\u0438\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u0435, \u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0435\u0439. \u041f\u0440\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0424\u0430\u0443\u043b\u0435\u0440 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0447\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u043c: \u043d\u0435 \u0434\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430. \u041c\u0435\u0436\u0434\u0443 \u0446\u0435\u043b\u044b\u043c \u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u043c \u043e\u043d \u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442. \u041a\u043d\u0438\u0433\u0443 \u043c\u043e\u0436\u043d\u043e \u043a\u0443\u043f\u0438\u0442\u044c.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0432 \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u043e\u0432\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f, \u0438 \u043e\u0431\u0435 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438. <a href=\"https:\/\/www.cybertec-postgresql.com\/en\/postgresql-int4-vs-float4-vs-numeric\/\" rel=\"noopener noreferrer nofollow\">\u0425\u0430\u043d\u0441-\u042e\u0440\u0433\u0435\u043d \u0428\u0451\u043d\u0438\u0433 \u0438\u0437 Cybertec<\/a> \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e: \u0434\u0435\u043d\u044c\u0433\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u0430\u0432\u0438\u043b \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0434\u043e \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 <code>numeric<\/code>.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abIn the case of money, different rounding rules are needed, which is why numeric is the data type you have to use to handle financial data.\u00bb<\/p>\n<\/div>\n<\/details>\n<p><a href=\"https:\/\/www.crunchydata.com\/blog\/working-with-money-in-postgres\" rel=\"noopener noreferrer nofollow\">\u042d\u043b\u0438\u0437\u0430\u0431\u0435\u0442 \u041a\u0440\u0438\u0441\u0442\u0435\u043d\u0441\u0435\u043d \u0438\u0437 Crunchy Data<\/a> \u0434\u0430\u0451\u0442 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044e \u0441 \u0440\u0430\u0437\u0432\u0438\u043b\u043a\u043e\u0439, \u0438 \u043e\u043d\u0430 \u0431\u043b\u0438\u0436\u0435 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438 \u0443 \u0411\u043b\u043e\u0445\u0430: \u0446\u0435\u043b\u043e\u0435 \u2014 \u0435\u0441\u043b\u0438 \u0432\u0430\u0441 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442 \u0446\u0435\u043b\u044b\u0435 \u043a\u043e\u043f\u0435\u0439\u043a\u0438 \u0438 \u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b; <code>numeric<\/code> \u2014 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043e\u043b\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043c\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u043a\u043e\u0432. \u0418 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0443\u043d\u043a\u0442\u043e\u043c: \u0432\u0430\u043b\u044e\u0442\u0443 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u044f\u0434\u043e\u043c, \u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abUse <code>int<\/code> or <code>bigint<\/code> if you can work with whole numbers of cents and you don&#8217;t need fractional cents.\u00bb \u00abUse <code>decimal<\/code> \/ <code>numeric<\/code> for storing money in fractional cents and even out to many many decimal points.\u00bb \u00abStore currency separately from the actual monetary values\u2026\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0442\u0438\u0432 \u0446\u0435\u043b\u044b\u0445 \u043a\u043e\u043f\u0435\u0435\u043a \u2014 \u0443 <a href=\"https:\/\/world.hey.com\/otar\/storing-money-as-integer-cents-is-often-over-engineering-7238a485\" rel=\"noopener noreferrer nofollow\">Otar Chekurishvili<\/a>, \u0438 \u043e\u043d \u043d\u0435 \u043f\u0440\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0430 \u043f\u0440\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u0436\u0438\u0432\u0451\u0442 \u043e\u0448\u0438\u0431\u043a\u0430. \u0425\u0440\u0430\u043d\u044f <code>1999<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>19.99<\/code>, \u0432\u044b \u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0443, \u0430 \u0432\u044b\u043d\u043e\u0441\u0438\u0442\u0435 \u0435\u0451 \u0438\u0437 \u0431\u0430\u0437\u044b \u0432\u043e \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u043e\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u044d\u0442\u0443 \u043a\u043e\u043b\u043e\u043d\u043a\u0443, \u043e\u0431\u044f\u0437\u0430\u043d \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e \u043d\u0435\u044f\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0448\u0442\u0430\u0431.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abWhen you store 1999 instead of 19.99, you don&#8217;t actually solve a problem. You move it out of the database and into every other layer of the app.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438 \u0442\u043e, \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u0430 <strong>\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f Java \u0434\u043b\u044f \u0434\u0435\u043d\u0435\u0433<\/strong> (JSR 354): \u043e\u043d\u0430 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e <strong>\u043d\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442<\/strong> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0435\u043c\u0443 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0440\u0430\u0437\u043d\u044b\u0435 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445.<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abJSR 354 explicitly supports different types of monetary amounts to be implemented and used. Reason behind is that the requirements to an implementation heavily vary for different usage scenarios.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u0418 \u044d\u0442\u043e \u043d\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u0430\u044f \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c: \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0437\u0451\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u2014 <a href=\"https:\/\/raw.githubusercontent.com\/JavaMoney\/jsr354-ri\/master\/moneta-core\/src\/main\/java\/org\/javamoney\/moneta\/Money.java\" rel=\"noopener noreferrer nofollow\"><code>Money<\/code><\/a> \u043f\u043e\u0432\u0435\u0440\u0445 <code>BigDecimal<\/code> \u0438 <a href=\"https:\/\/raw.githubusercontent.com\/JavaMoney\/jsr354-ri\/master\/moneta-core\/src\/main\/java\/org\/javamoney\/moneta\/FastMoney.java\" rel=\"noopener noreferrer nofollow\"><code>FastMoney<\/code><\/a> \u043f\u043e\u0432\u0435\u0440\u0445 <code>long<\/code>. \u0412 javadoc \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u044f\u043c\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u043e\u043d \u0432 10\u201315 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0438 \u043f\u043b\u0430\u0442\u043e\u0439 \u0437\u0430 \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p><a class=\"anchor\" name=\"erp\" id=\"erp\"><\/a><\/p>\n<h3>7. \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 ERP<\/h3>\n<p>\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441 \u0434\u0435\u043d\u044c\u0433\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c, \u2014 \u0438 \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0447\u0438\u0441\u043b\u043e\u043c.<\/p>\n<ul>\n<li>\n<p><strong>SAP<\/strong> \u2014 <code>packed decimal<\/code> \u043f\u043b\u044e\u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u0432\u0430\u043b\u044e\u0442\u044b <a href=\"https:\/\/eduardocopat.github.io\/abap-docs\/7.31\/abencurrency_field\/\" rel=\"noopener noreferrer nofollow\">ABAP docs, currency field<\/a>.<\/p>\n<\/li>\n<li>\n<p><strong>Oracle E-Business Suite \/ Fusion<\/strong> \u2014 <code>NUMBER<\/code> \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0435\u0437 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430. <a href=\"https:\/\/docs.oracle.com\/en\/cloud\/saas\/financials\/26a\/oedmf\/gljelines-24789.html\" rel=\"noopener noreferrer nofollow\">GL_JE_LINES<\/a>.<\/p>\n<\/li>\n<li>\n<p><strong>Odoo<\/strong> \u2014 \u0441\u0430\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u043a \u043d\u0435\u043c\u0443 \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. \u041a\u043e\u043b\u043e\u043d\u043a\u0430 \u0432 \u0431\u0430\u0437\u0435 \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f <code>numeric<\/code> (<a href=\"https:\/\/raw.githubusercontent.com\/odoo\/odoo\/17.0\/odoo\/fields.py\" rel=\"noopener noreferrer nofollow\">odoo\/<\/a><a href=\"http:\/\/fields.py\" rel=\"noopener noreferrer nofollow\">fields.py<\/a><a href=\"https:\/\/raw.githubusercontent.com\/odoo\/odoo\/17.0\/odoo\/fields.py\" rel=\"noopener noreferrer nofollow\"> 17.0<\/a>), \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 ORM \u2014 Python <code>float<\/code>; \u043e\u0442\u0441\u044e\u0434\u0430 \u0438 \u0446\u0435\u043b\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0445\u0435\u043b\u043f\u0435\u0440\u043e\u0432 <a href=\"https:\/\/raw.githubusercontent.com\/odoo\/odoo\/17.0\/odoo\/tools\/float_utils.py\" rel=\"noopener noreferrer nofollow\">odoo\/tools\/float_<\/a><a href=\"http:\/\/utils.py\" rel=\"noopener noreferrer nofollow\">utils.py<\/a>.<\/p>\n<\/li>\n<li>\n<p><strong>1\u0421<\/strong>. \u0422\u0438\u043f \u00ab\u0427\u0438\u0441\u043b\u043e\u00bb \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u2014 <a href=\"https:\/\/its.1c.ru\/db\/content\/metod8dev\/src\/developers\/platform\/metod\/query\/i8102665.htm\" rel=\"noopener noreferrer nofollow\">\u0418\u0422\u0421, \u00ab\u0420\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439\u00bb<\/a>. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c 38 \u0437\u043d\u0430\u043a\u043e\u0432, \u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0432\u0438\u0434\u0430 <code>\u0427\u0438\u0441\u043b\u043e(17,4)<\/code>, \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u043e Odoo \u0441\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/strong> \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f production-ERP, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u043a\u0430\u043a <code>numeric<\/code>, \u0430 \u0432\u0441\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c <code>double<\/code> \u2014 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u044b\u0442\u0435\u043a\u0430\u044e\u0449\u0438\u043c\u0438, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c <code>float_<\/code><a href=\"http:\/\/utils.py\" rel=\"noopener noreferrer nofollow\"><code>utils.py<\/code><\/a> \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f. \u0412\u044b\u0432\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0448\u0438\u0440\u0435, \u0447\u0435\u043c \u043e\u0434\u0438\u043d \u0432\u0435\u043d\u0434\u043e\u0440: <strong>\u0442\u0438\u043f \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0432 \u0441\u0445\u0435\u043c\u0435 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438\u0434\u0443\u0442 \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0435.<\/strong> \u0421\u0445\u0435\u043c\u0430 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0442\u0430\u0449\u0438\u043b\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 <code>double<\/code>, \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b\u043e \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u044f\u043b\u0430\u0441\u044c \u0432 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u043c \u0441\u043b\u043e\u0435, \u0430 \u0431\u0430\u0437\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0431\u0435\u0437\u0443\u043f\u0440\u0435\u0447\u043d\u043e.<\/p>\n<p><strong>\u0418 \u043e\u0431\u0449\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0430\u0436\u0435\u043d \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u044c\u0438.<\/strong> \u0412 \u043f\u043b\u0430\u0442\u0435\u0436\u0430\u0445, \u043a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438, \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u2014 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432\u0430\u043b\u044e\u0442\u044b: \u043e\u043d \u043e\u0434\u0438\u043d \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0438\u0437\u0432\u043d\u0435. \u0412 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0432\u0441\u0451 \u0438\u043d\u0430\u0447\u0435. \u0423 1\u0421 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f <strong>\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442<\/strong> \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u043d\u043e\u0442\u0430\u0446\u0438\u0435\u0439 <code>\u0427\u0438\u0441\u043b\u043e(N,M)<\/code>: \u0441\u0443\u043c\u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0441 \u0434\u0432\u0443\u043c\u044f \u0437\u043d\u0430\u043a\u0430\u043c\u0438, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441 \u0442\u0440\u0435\u043c\u044f, \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0438 \u043a\u0443\u0440\u0441\u044b \u2014 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c. \u0423 SAP \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0435 \u043f\u043e\u043b\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0438\u0434\u0442\u0438 \u0432 \u043f\u0430\u0440\u0435 \u0441 \u043f\u043e\u043b\u0435\u043c \u0432\u0430\u043b\u044e\u0442\u044b, \u043d\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0438\u0434\u043e\u043c \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u043b\u044e\u0442\u043e\u0439. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, <strong>\u0437\u0434\u0435\u0441\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u0430 \u043d\u0435 \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u0435<\/strong>, \u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0438\u0445 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0435\u0434\u0438\u043d\u0438\u0446 ERP \u043d\u0435 \u0441\u043f\u0430\u0441\u0430\u0435\u0442: \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430 \u043d\u0430 \u0432\u0441\u044e \u0441\u0445\u0435\u043c\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442, \u0430 SQL \u0437\u0430\u0434\u0430\u0451\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0442\u0438\u043f\u043e\u043c \u043a\u043e\u043b\u043e\u043d\u043a\u0438, \u0430 \u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p><a class=\"anchor\" name=\"direction\" id=\"direction\"><\/a><\/p>\n<h3>8. \u041a\u0443\u0434\u0430 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044e. \u0422\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u0442 \u2014 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442\u0441\u044f.<\/p>\n<ul>\n<li>\n<p>\u041c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0435\u0436\u0438 \u0441 \u043a\u043e\u043d\u0446\u0430 2025 \u0433\u043e\u0434\u0430 \u0436\u0438\u0432\u0443\u0442 \u043d\u0430 ISO 20022 \u2014 \u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0442\u0430\u043c <code>totalDigits=\"18\"<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c <strong>\u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0434\u0430\u0451\u0442 <\/strong><code><strong>int64<\/strong><\/code>. \u0424\u043e\u0440\u043c\u0430\u0442, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0434\u0443\u0442 \u043c\u0435\u0436\u0431\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u0438\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u044b \u0432\u0441\u0435\u0433\u043e \u043c\u0438\u0440\u0430, \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p>C23 \u0432\u043d\u0451\u0441 <code><em>Decimal32\/64\/128<\/em><\/code><em> \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u044f\u0437\u044b\u043a\u0430 C (<\/em><a href=\"https:\/\/en.cppreference.com\/c\/23\" rel=\"noopener noreferrer nofollow\"><em>cppreference, C23<\/em><\/a><em>) \u2014 \u043f\u0440\u0430\u0432\u0434\u0430, \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e, \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043a\u0440\u043e\u0441 <\/em><code>_STDC_IEC_60559_DFP__<\/code>. GCC \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e, Clang \u0438 MSVC \u2014 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442. (<a href=\"https:\/\/discourse.llvm.org\/t\/rfc-decimal-floating-point-support-iso-iec-ts-18661-2-and-c23\/62152\" rel=\"noopener noreferrer nofollow\">RFC \u0432 LLVM \u0432\u0441\u0451 \u0435\u0449\u0451 \u043e\u0442\u043a\u0440\u044b\u0442<\/a>).<\/p>\n<\/li>\n<li>\n<p><code>DECFLOAT<\/code> \u0438\u0437 SQL:2016 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 Db2, \u043d\u043e \u0438 \u0432 Firebird 4.0 (<a href=\"https:\/\/raw.githubusercontent.com\/FirebirdSQL\/firebird\/master\/doc\/sql.extensions\/README.floating_point_types.md\" rel=\"noopener noreferrer nofollow\">README: floating_point_types<\/a>).<\/p>\n<\/li>\n<li>\n<p>\u0422\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f \u0435\u0441\u0442\u044c \u0432\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u0421\u0423\u0411\u0414 \u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u0410 \u0432\u043e\u0442 \u0432 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0432\u0438\u0436\u043a\u0430\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u0440\u043e\u0434\u043d\u0430\u044f, \u0438 \u043e\u043d\u0430 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0433\u0434\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439, \u0430 \u0433\u0434\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0439. Apache Druid \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0432\u043e\u0432\u0441\u0435 \u0438 <a href=\"https:\/\/github.com\/apache\/druid\/issues\/10190\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u043a\u043b\u043e\u043d\u0438\u043b<\/a> \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c. ClickHouse \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0436\u0438\u0432\u0451\u0442 \u0441 <code>Float64<\/code> \u0438 \u043b\u0438\u0448\u044c <a href=\"https:\/\/clickhouse.com\/docs\/sql-reference\/data-types\/float\" rel=\"noopener noreferrer nofollow\">\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442<\/a> <code>Decimal<\/code> \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c. \u0410 Elasticsearch \u0438 Power BI \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0442\u0440\u0435\u0442\u0438\u0439 \u043f\u0443\u0442\u044c \u2014 \u0442\u043e\u0447\u043d\u0443\u044e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443 \u043d\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 \u0446\u0435\u043b\u043e\u0433\u043e. \u0422\u043e \u0435\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0441\u043e\u0448\u043b\u0430\u0441\u044c \u043d\u0435 \u043d\u0430 \u00ab\u0442\u043e\u0447\u043d\u043e\u043c \u0442\u0438\u043f\u0435\u00bb, \u0430 \u043d\u0430 \u00ab\u0442\u043e\u0447\u043d\u043e\u043c \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0435\u00bb, \u0438 \u044d\u0442\u043e \u0440\u043e\u0432\u043d\u043e \u0442\u043e \u043f\u043e\u0441\u043b\u0430\u0431\u043b\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0442 TPC-H \u0438 TPC-DS.<\/p>\n<h4>\u041f\u043e\u0442\u043e\u043b\u043e\u043a \u0432 38 \u0446\u0438\u0444\u0440<\/h4>\n<p>\u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e, \u0442\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b. \u041f\u043e\u0442\u043e\u043b\u043e\u043a \u0432 38 \u0446\u0438\u0444\u0440 (int128) \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u0435-\u0444\u0430\u043a\u0442\u043e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e\u0442\u043e\u043b\u043e\u043a<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/docs.snowflake.com\/en\/sql-reference\/data-types-numeric\" rel=\"noopener noreferrer nofollow\">Snowflake<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f \u0448\u0438\u0440\u0438\u043d\u0430 \u043f\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/docs.aws.amazon.com\/redshift\/latest\/dg\/r_Numeric_types201.html\" rel=\"noopener noreferrer nofollow\">Redshift<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">int64 \u0434\u043e 19 \u0446\u0438\u0444\u0440, int128 \u0434\u043e 38<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/data-types\/decimal-and-numeric-transact-sql\" rel=\"noopener noreferrer nofollow\">SQL Server \/ Synapse<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">5\/9\/13\/17 \u0431\u0430\u0439\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/docs.databricks.com\/aws\/en\/sql\/language-manual\/data-types\/decimal-type\" rel=\"noopener noreferrer nofollow\">Databricks \/ Spark<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">long fast-path \u226418 \u0446\u0438\u0444\u0440, BigDecimal \u0434\u0430\u043b\u044c\u0448\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/duckdb.org\/docs\/current\/sql\/data_types\/numeric.html\" rel=\"noopener noreferrer nofollow\">DuckDB<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">INT16\/32\/64\/128<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/raw.githubusercontent.com\/apache\/iceberg\/main\/format\/spec.md\" rel=\"noopener noreferrer nofollow\">Iceberg<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u00abprecision must be 38 or less\u00bb<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/clickhouse.com\/docs\/sql-reference\/data-types\/decimal\" rel=\"noopener noreferrer nofollow\">ClickHouse<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">76<\/p>\n<\/td>\n<td>\n<p align=\"left\">int32\/64\/128\/256<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/raw.githubusercontent.com\/google\/zetasql\/master\/docs\/data-types.md\" rel=\"noopener noreferrer nofollow\">BigQuery<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">38 \/ ~76.8<\/p>\n<\/td>\n<td>\n<p align=\"left\">int128 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c scale<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/ydb.tech\/docs\/en\/yql\/reference\/types\/primitive\" rel=\"noopener noreferrer nofollow\">YDB<\/a><\/p>\n<\/td>\n<td>\n<p align=\"left\">35<\/p>\n<\/td>\n<td>\n<p align=\"left\">int128, 16 \u0431\u0430\u0439\u0442, precision \u0438 scale \u0432 \u0442\u0438\u043f\u0435<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h4>\u0427\u0435\u043c \u043f\u043b\u0430\u0442\u044f\u0442 \u0437\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0448\u0438\u0440\u0438\u043d\u0443<\/h4>\n<p>\u041a\u0430\u0436\u0434\u043e\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u044b. \u041d\u0435 \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0438 \u0441 \u0421\u0423\u0411\u0414, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e\u0442 \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f. Redshift, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u044f\u043c\u043e \u043e\u0442\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0431\u0440\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u00ab\u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u00bb: 128-\u0431\u0438\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0434\u0432\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0447\u0435\u043c 64-\u0431\u0438\u0442\u043d\u044b\u0435, \u0438 \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (<a href=\"https:\/\/docs.aws.amazon.com\/redshift\/latest\/dg\/r_Numeric_types201.html\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f<\/a>):<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abDo not arbitrarily assign maximum precision to DECIMAL columns unless you are certain that your application requires that precision. 128-bit values use twice as much disk space as 64-bit values and can slow down query execution time.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>Apache Arrow \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0440\u043e\u0432\u043d\u043e \u0447\u0435\u0442\u044b\u0440\u0435 \u0448\u0438\u0440\u0438\u043d\u044b \u0438 \u043f\u0440\u044f\u043c\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0442\u043e\u0447\u043d\u043e\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u043a <strong>\u0446\u0435\u043b\u043e\u0435 \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u0434\u0435<\/strong> \u2014 32, 64, 128 \u0438\u043b\u0438 256 \u0431\u0438\u0442, \u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0436\u0438\u0432\u0451\u0442 \u0432 \u0441\u0445\u0435\u043c\u0435 \u043f\u043e\u0442\u043e\u043a\u0430 (<a href=\"https:\/\/raw.githubusercontent.com\/apache\/arrow\/main\/format\/Schema.fbs\" rel=\"noopener noreferrer nofollow\">Schema.fbs<\/a>):<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u0430<\/summary>\n<div class=\"spoiler__content\">\n<p>\u00abExact decimal value represented as an integer value in two&#8217;s complement. Currently 32-bit (4-byte), 64-bit (8-byte), 128-bit (16-byte) and 256-bit (32-byte) integers are used.\u00bb \/ \u00abThe accepted widths are 32, 64, 128 and 256.\u00bb<\/p>\n<\/div>\n<\/details>\n<p>\u041f\u0440\u0438\u0447\u0451\u043c \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u0438\u0434\u0451\u0442 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0443\u0436\u0435\u043d\u0438\u044f: Arrow 18.0.0 (\u043e\u043a\u0442\u044f\u0431\u0440\u044c 2024) <a href=\"https:\/\/arrow.apache.org\/blog\/2024\/10\/28\/18.0.0-release\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u0431\u0430\u0432\u0438\u043b Decimal32 \u0438 Decimal64<\/a>, \u0430 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u0438\u0435 \u0442\u0438\u043f\u044b. \u041b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0441\u0443\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u0432 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: 32-\u0431\u0438\u0442\u043d\u044b\u0435 \u0438 64-\u0431\u0438\u0442\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u0447\u0435 128-\u0431\u0438\u0442\u043d\u044b\u0445 \u0432 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445.<\/p>\n<p>\u0421\u0430\u043c\u044b\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u2014 CedarDB, \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a Umbra, \u0434\u0432\u0438\u0436\u043e\u043a, \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 2020-\u0445. \u041e\u043d \u044f\u0432\u043d\u043e \u0438 \u043f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0431\u044f PostgreSQL: \u0442\u0430\u043c, \u0433\u0434\u0435 PostgreSQL \u0434\u0430\u0451\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0434\u043e 131072 \u0446\u0438\u0444\u0440, CedarDB \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0435\u0451 38 \u2014 \u0438 \u043f\u0440\u044f\u043c\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u044d\u0442\u043e \u0440\u0430\u0434\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0417\u0430\u043e\u0434\u043d\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 18 \u0446\u0438\u0444\u0440, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 16-\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043e\u0440\u043e\u0433\u0438, \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 <code>NaN<\/code> \u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 PostgreSQL \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 (<a href=\"https:\/\/cedardb.com\/docs\/references\/datatypes\/numeric\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e numeric<\/a>):<\/p>\n<details class=\"spoiler\">\n<summary>\u0426\u0438\u0442\u0430\u0442\u044b<\/summary>\n<div class=\"spoiler__content\">\n<blockquote>\n<p>\u00abPostgreSQL offers a maximum precision of 131072 and scale of 16383, where <strong>CedarDB restricts precision and scale to a maximum of 38, for performance reasons.<\/strong>\u00bb<\/p>\n<p>\u00abOperations on 16 Byte types are expensive to compute. We recommend using a precision of 18 or less when possible for your application.\u00bb<\/p>\n<p>\u00abPostgreSQL allows NaN, +Infinity, and -Infinity as special numeric values\u00bb \u2014 \u00abCedarDB forbids entering these values as numeric data types.\u00bb<\/p>\n<\/blockquote>\n<\/div>\n<\/details>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0446\u0435\u043b\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 PostgreSQL-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a, \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0440\u043e\u0432\u043d\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 <code>numeric<\/code> \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c: \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u043e\u0442 varlena \u0438 \u043e\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.<\/p>\n<p>\u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0443 \u0432\u0441\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u044f \u0446\u0435\u043d\u0430. ClickHouse, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/clickhouse.com\/docs\/sql-reference\/data-types\/decimal\" rel=\"noopener noreferrer nofollow\">\u0447\u0435\u0441\u0442\u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442<\/a>, \u0447\u0442\u043e \u0443 \u0448\u0438\u0440\u043e\u043a\u0438\u0445 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0442 \u0432\u043e\u0432\u0441\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u0443 <code>Decimal32<\/code>\/<code>Decimal64<\/code> \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0434\u0430\u0451\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0430 \u0443 <code>Decimal128<\/code>\/<code>Decimal256<\/code> \u2014 \u043c\u043e\u043b\u0447\u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u0442\u0438\u043f\u0430 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b \u0431\u044e\u0434\u0436\u0435\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432 \u043a\u043e\u043d\u0435\u0447\u0435\u043d, \u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441 \u043c\u0435\u0436\u0434\u0443 \u0448\u0438\u0440\u0438\u043d\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0438\u0436\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0414\u0432\u0438\u0436\u043e\u043a<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0435\u043c \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u043b<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">ClickHouse<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u2014 \u0443 <code>Decimal128<\/code>\/<code>Decimal256<\/code> \u0438\u0445 \u043d\u0435\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">CedarDB<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 <code>NaN<\/code> \u0438 <code>\u00b1Infinity<\/code> \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">YDB<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u043c \u2014 \u0442\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u0430 \u0438\u0437 38 \u043e\u0442\u0434\u0430\u043d\u044b \u043f\u043e\u0434 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">PostgreSQL <code>numeric<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043d\u0438\u0447\u0435\u043c<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438 \u0442\u043e, \u0447\u0442\u043e YDB \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0438 \u0432 \u0442\u0435 \u0436\u0435 2010\u20132020-\u0435, \u0447\u0442\u043e CedarDB \u0438 DuckDB, \u2014 \u0438 \u043f\u0440\u0438\u0448\u0451\u043b \u043a \u0442\u043e\u0439 \u0436\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438: \u0446\u0435\u043b\u043e\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b, \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0432 \u0442\u0438\u043f\u0435, \u043f\u043e\u0442\u043e\u043b\u043e\u043a \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 35\u201338. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043b \u043d\u0438\u043a\u0442\u043e.<\/p>\n<p><a class=\"anchor\" name=\"outcomes\" id=\"outcomes\"><\/a><\/p>\n<h3>9. \u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435?<\/p>\n<p>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f <code>real<\/code> \u0438 <code>double precision<\/code> \u0434\u043b\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d, \u043d\u0430\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430, \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0441\u044f \u043a \u043d\u0443\u043b\u044e.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u043c\u0435\u0436\u0434\u0443 \u0446\u0435\u043b\u044b\u043c \u0438 \u0442\u043e\u0447\u043d\u044b\u043c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u043c \u0432\u044b\u0431\u043e\u0440 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0441\u0442\u044c. \u0420\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 \u0438\u0445 \u0442\u043e, \u0447\u0435\u043c \u0437\u0430\u0434\u0430\u043d \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0438 \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0438\u0437\u0432\u043d\u0435 \u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a \u2014 \u0438\u0437 \u043a\u043e\u0434\u0430 \u0432\u0430\u043b\u044e\u0442\u044b, \u0438\u0437 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u0432\u0430\u0436\u043d\u044b &#8212; \u0446\u0435\u043b\u043e\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0437\u0430\u0434\u0430\u043d \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e, \u0440\u0430\u0437\u043d\u044b\u0439 \u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u2014 \u0446\u0435\u043b\u043e\u0435 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430 \u043d\u0430 \u0432\u0441\u044e \u0431\u0430\u0437\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442. Otar Chekurishvili \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 <a href=\"https:\/\/world.hey.com\/otar\/storing-money-as-integer-cents-is-often-over-engineering-7238a485\" rel=\"noopener noreferrer nofollow\">Storing money as integer cents is often over-engineering<\/a> \u043e\u0447\u0435\u043d\u044c \u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0434\u043c\u0435\u0442\u0438\u043b: \u0446\u0435\u043b\u043e\u0435 \u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0430 \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0435\u0451 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0422\u0440\u0435\u0442\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u0431\u044b\u0447\u043d\u043e \u0434\u0438\u0441\u043a\u0443\u0442\u0438\u0440\u0443\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043f\u0435\u0439\u043a\u0438. \u0418\u043d\u043e\u0433\u0434\u0430 \u0434\u043e\u0445\u043e\u0434\u044f\u0442 \u0434\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u2014 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c, \u0442\u043e\u0447\u043a\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0430 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435. \u041d\u043e \u0435\u0441\u0442\u044c \u0438 \u0442\u0440\u0435\u0442\u0438\u0439 \u0430\u0441\u043f\u0435\u043a\u0442 \u2014 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0436\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 \u0433\u0440\u0430\u043d\u0438\u0446\u0443, \u0433\u0434\u0435 \u0435\u0433\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0430\u0440\u0441\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043d\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u0438 \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u044f\u0432\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043f\u043e\u0432\u0435\u0441\u0442\u043a\u0435 \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u0432\u0438\u0436\u043a\u043e\u0432, \u0438 \u043e\u0431\u0449\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u2014 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0448\u0438\u0440\u0438\u043d\u0443. \u0422\u0438\u043f\u043e\u0432\u044b\u043c \u043f\u043e\u0442\u043e\u043b\u043a\u043e\u043c \u0441\u0442\u0430\u043b\u0438 38 \u0446\u0438\u0444\u0440. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043b\u0430\u0437\u0438\u0442 \u0432 int128 \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043a\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441: \u043a\u0442\u043e-\u0442\u043e \u043e\u0441\u043b\u0430\u0431\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043a\u0442\u043e-\u0442\u043e \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0440\u043e\u0434\u0435 <code>NAN<\/code> \u0438\u043b\u0438 <code>Infinity<\/code>, \u043a\u0442\u043e-\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430. \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u2014 \u043a\u0440\u043e\u043c\u0435 PostgreSQL.<\/p>\n<p>\u0418 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u0433\u0440\u0435\u0441\u043e\u0432\u044b\u0439 \u0438\u043d\u0441\u0430\u0439\u0442 \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 PostgreSQL \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 <code>numeric<\/code> \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0443 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0432\u044b\u0431\u0440\u0430\u043b\u0438 Arrow, SQL Server, DuckDB, ClickHouse, YDB \u0438 Power BI, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0451 \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442. \u0414\u0430, \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0437\u043d\u0430\u0435\u0442 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0442\u0440\u0438 \u0437\u0430\u0431\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0431\u044b\u0441\u0442\u0440\u044b\u0439\u00bb <code>decimal<\/code> \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c. \u041d\u043e, \u0441\u0443\u0434\u044f \u043f\u043e \u0442\u043e\u043c\u0443, \u043a\u0443\u0434\u0430 \u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435, \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0451 \u0442\u0440\u0443\u0434\u043d\u0435\u0435.<\/p>\n<p>\u0410 \u0432\u044b \u0447\u0442\u043e \u0434\u0443\u043c\u0430\u0435\u0442\u0435? \u041f\u043e\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043c\u043d\u0435\u043d\u0438\u0435\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445!<\/p>\n<p>THE END,<br \/><em>13 \u0430\u0432\u0433\u0443\u0441\u0442\u0430 2026 \u0433., \u041c\u0430\u0434\u0440\u0438\u0434, \u0418\u0441\u043f\u0430\u043d\u0438\u044f.<\/em><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1070300\/\">https:\/\/habr.com\/ru\/articles\/1070300\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f PostgreSQL \u043f\u043e numeric \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0432\u0430 \u043f\u043b\u043e\u0445\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u044e\u0449\u0438\u0445\u0441\u044f \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f:\u00abespecially recommended for storing monetary amounts and other quantities where exactness is required\u00bb \u2014 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435: \u00abcalculations on numeric values are very slow compared to the integer types, or to the floating-point types\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u0432\u0435\u043b\u0438\u0447\u0438\u043d \u0438 \u0442\u0443\u0442 \u0436\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0434\u043e\u0440\u043e\u0433\u043e.\u0414\u043b\u044f \u043c\u0435\u043d\u044f, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0421\u0423\u0411\u0414 \u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e. \u0415\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u0438\u043f\u043e\u043c \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 bigint, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u043e\u0431\u043b\u0430\u0437\u043d: \u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0446\u0435\u043b\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043a\u043e\u043f\u0435\u0435\u043a \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c\u0443 \u043f\u0440\u0430\u0432\u0438\u043b\u0443? \u042d\u0442\u043e \u0431\u044b \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u0432\u0435 \u043d\u0435\u0442? \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c double precision?\u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0446\u0435\u043b\u043e\u0435, \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0442 \u043d\u0435\u0433\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442: \u0437\u0430\u043a\u043e\u043d, \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041f\u0440\u0430\u0432\u0434\u0430 \u043b\u0438, \u0447\u0442\u043e \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u0443\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0438 \u0434\u0435-\u0444\u0430\u043a\u0442\u043e? \u0418\u043b\u0438 \u044d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0444\u043e\u043b\u044c\u043a\u043b\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438?\u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0431\u0437\u043e\u0440\u043d\u0443\u044e \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438 \u043a\u043e\u043f\u043d\u0451\u043c \u043f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438. \u042d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 AI-\u0430\u0433\u0435\u043d\u0442\u0430\u043c\u0438 \u0441\u0442\u0430\u043b\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u0447\u0435. \u0422\u0430\u043a \u0447\u0442\u043e \u0437\u0430\u0441\u0443\u0447\u0438\u043c \u0440\u0443\u043a\u0430\u0432\u0430 \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0447\u0440\u0435\u0437\u043c\u0435\u0440\u043d\u043e \u0441\u0443\u0445\u0438\u043c \u0438\u043b\u0438 \u0441\u043a\u0443\u0447\u043d\u044b\u043c &#8212; \u0442\u043e \u043e\u043d \u0442\u0430\u043a\u043e\u0439 \u0438 \u0435\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e.\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u04351. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL2. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b3. \u0424\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u04384. \u041f\u043b\u0430\u0442\u0435\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432\u0430\u043b\u044e\u0442\u044b5. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 TPC-\u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u04386. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u044b, \u0430\u0432\u0442\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u04387. \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 ERP8. \u041a\u0443\u0434\u0430 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f9. \u0412\u044b\u0432\u043e\u0434\u044b1. \u0427\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL\u0412 ISO SQL \u043d\u0435\u0442 \u0442\u0438\u043f\u0430 MONEY. \u041d\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u0430 \u2014 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 \u044f\u0437\u044b\u043a\u0430 SQL \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u0432\u0430\u043b\u044e\u0442\u044b. \u0422\u0438\u043f money \u0432 PostgreSQL \u0438 money\/smallmoney \u0432 SQL Server \u2014 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0430 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430.\u0417\u0430\u0442\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:Exact numeric types: NUMERIC, DECIMAL, SMALLINT, INTEGER, BIGINT.Approximate numeric types: FLOAT, REAL, DOUBLE PRECISION.The decimal floating-point type: DECFLOAT.\u0423 \u0442\u0438\u043f\u043e\u0432 Numeric \u0438 Decimal \u0435\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430.\u041f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b 6.1 \u00abdata type\u00bb, Syntax Rules 28 \u0438 29:\u00abNUMERIC specifies the data type exact numeric, with the decimal precision and scale specified by the precision and scale. 29) DECIMAL specifies the data type exact numeric, with the decimal scale specified by the scale and the implementation-defined (ID063) decimal precision equal to or greater than the value of the specified precision.\u00bb\u0414\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f: NUMERIC(15,2) \u2014 \u044d\u0442\u043e \u0436\u0451\u0441\u0442\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u043e\u0432\u043d\u043e \u043d\u0430 15 \u0446\u0438\u0444\u0440, DECIMAL(15,2) \u2014 \u043d\u0430 \u00ab\u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 15\u00bb. \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u043e\u0431\u0430 \u0442\u0438\u043f\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u0434\u0438\u043d, \u0447\u0435\u043c \u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f numeric \u0432 PostgreSQL.\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043f\u043e\u0432\u0435\u0440\u0445 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0433\u043e \u0446\u0435\u043b\u043e\u0433\u043e. \u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0438\u0440\u0438\u043d\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 int64\/int128 \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u042d\u0442\u043e \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Arrow, SQL Server, DuckDB \u0438 \u043f\u0440.\u041f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b 4.5.2 \u00abCharacteristics of numbers\u00bb: \u00abAn exact numeric type has a precision P and a scale S. P is a positive integer that determines the number of significant digits in a particular radix R, where R is either 2 or 10. S is a non-negative integer. Every value of an exact numeric type of scale S is of the form n \u00d7 10\u207b\u02e2, where n is an integer such that \u2212R\u1d3e \u2264 n &lt; R\u1d3e.\u00bb\u0418\u0442\u043e\u0433\u043e: \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f DECIMAL\/NUMERIC \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e SQL (\u0444\u0438\u0447\u0430 E011-03), \u0430 DECFLOAT \u2014 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f (T076), \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441 BIGINT.\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0442\u0438\u043f\u0443 numeric \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043d\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0443: \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u044b \u0436\u0451\u0441\u0442\u043a\u043e. \u041c\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0430\u043d \u043d\u0430 \u043e\u0442\u043a\u0443\u043f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.2. \u0427\u0435\u0433\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0437\u0430\u043a\u043e\u043d \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b\u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442 \u0421\u043e\u0432\u0435\u0442\u0430 \u0415\u0421 \u2116 1103\/97 \u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0435\u0432\u0440\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0448\u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0446\u0438\u0444\u0440 \u0431\u0435\u0437 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u0435\u0447\u0435\u043d\u0438\u044f, \u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0422\u0438\u043f float \u043f\u043e\u0434 \u0442\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442.\u0421\u0442\u0430\u0442\u044c\u044f 4 \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0430 \u0437\u0430\u0434\u0430\u0451\u0442 \u0441\u0430\u043c\u0443 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0443 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430: \u043a\u0443\u0440\u0441 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0441 \u0448\u0435\u0441\u0442\u044c\u044e \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u043c\u0438 \u0446\u0438\u0444\u0440\u0430\u043c\u0438, \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u0438\u043b\u0438 \u0443\u0441\u0435\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e, \u0430 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0430\u043b\u044e\u0442\u044b \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u0438\u0434\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0435\u0432\u0440\u043e. \u0418 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0440\u0430\u0441\u0447\u0451\u0442\u0430 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043b\u0438\u0448\u044c \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043e\u043d \u0434\u0430\u0451\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.\u0426\u0438\u0442\u0430\u0442\u0430\u00abThe conversion rates shall be adopted with six significant figures.\u00bb\u00abThe conversion rates shall not be rounded or truncated when making conversions.\u00bb\u00abInverse rates derived from the conversion rates shall not be used.\u00bb\u00abMonetary amounts to be converted from one national currency unit into another shall first be converted into a monetary amount expressed in the euro unit, which amount may be rounded to not less than three decimals\u2026 No alternative method of calculation may be used unless it produces the same results.\u00bb\u0421\u0442\u0430\u0442\u044c\u044f 5 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e, \u0447\u0435\u0433\u043e \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445 \u043d\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432\u043e\u043e\u0431\u0449\u0435: \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0440\u043e\u0432\u043d\u043e \u043d\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435. \u0421\u0443\u043c\u043c\u044b \u043a \u0443\u043f\u043b\u0430\u0442\u0435 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u0446\u0435\u043d\u0442\u0430, \u0430 \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442 \u0434\u0430\u043b \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u2014 \u0432\u0432\u0435\u0440\u0445.\u0426\u0438\u0442\u0430\u0442\u0430\u00abMonetary amounts to be paid or accounted for when a rounding takes place after a conversion into the euro unit pursuant to Article 4 shall be rounded up or down to the nearest cent. \u2026 If the application of the conversion rate gives a result which is exactly half-way, the sum shall be rounded up.\u00bb\u0411\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u0439 \u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432 \u0434\u043e\u043b\u044f\u0445 \u043f\u0435\u043d\u043d\u0438. HMRC \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u041d\u0414\u0421 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0442\u0440\u0451\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0443: \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u043f\u0435\u043d\u043d\u0438 \u2014 \u0432\u043d\u0438\u0437, \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u0432\u0432\u0435\u0440\u0445 (HMRC VAT Trader Records, VATREC12030).\u0426\u0438\u0442\u0430\u0442\u0430\u00abIf the VAT on any transaction comes to less than 0.5 of one penny, it should be rounded down. If the VAT comes to 0.5 of one penny or more, it should be rounded up.\u00bb\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0443 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u00ab\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0438\u043f\u00bb. \u041d\u043e \u0438\u0437 \u0438\u0445 \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435, \u0438 \u043e\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u044f\u0437\u0430\u043d\u043e \u0431\u044b\u0442\u044c \u0442\u043e\u0447\u043d\u044b\u043c \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u044b. \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 float \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 0,01 \u0442\u043e\u0447\u043d\u043e, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430 double precision \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442 \u044d\u0442\u043e \u043f\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u043a\u043e\u0434.\u041e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u2014 \u043d\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0435, \u0430 \u043d\u0435 \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0438. \u0420\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442 \u0415\u0421 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0436\u0451\u0441\u0442\u043a\u043e: \u043a\u0443\u0440\u0441\u044b \u00abshall not be rounded or truncated\u00bb, \u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0434\u043e \u0446\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430.\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u043e\u0432\u043d\u043e \u043d\u0430 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u044f\u0432\u043d\u043e. \u0418 \u0415\u0421, \u0438 HMRC \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u044e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 0,5: \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c \u0432\u0432\u0435\u0440\u0445. \u0422\u0438\u043f, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0438\u0447\u044c\u0435\u0439 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0442\u0430\u043a\u0443\u044e \u043d\u043e\u0440\u043c\u0443 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442.\u0420\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0430\u043b\u044e\u0442\u044b, \u0430 \u043d\u0435 \u043e\u0442 \u0442\u0438\u043f\u0430: \u0442\u0440\u0438 \u0437\u043d\u0430\u043a\u0430 \u0443 \u0415\u0421 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u043f\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0435, \u0434\u043e\u043b\u0438 \u043f\u0435\u043d\u043d\u0438 \u0443 HMRC. \u0417\u043d\u0430\u0447\u0438\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043c\u043e\u0434\u0435\u043b\u0438, \u0430 \u043d\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043e\u0439, \u0437\u0430\u0448\u0438\u0442\u043e\u0439 \u0432 \u0441\u0445\u0435\u043c\u0443.\u0417\u0430\u043a\u043e\u043d \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0438\u043f, \u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435. \u0412 PostgreSQL \u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 numeric: \u0442\u043e\u0447\u043d\u043e\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043d\u0435\u044f\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u044f\u0432\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043c\u0430\u0441\u0448\u0442\u0430\u0431.\u0418 \u0442\u0443\u0442 \u0436\u0435 \u0432\u044b\u043b\u0435\u0437\u0430\u0435\u0442 \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u043a\u043e\u043d \u0437\u0430\u0434\u0430\u0451\u0442 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e, \u0432 \u0421\u0423\u0411\u0414 \u043d\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u2014 \u043e\u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438, \u0438 \u043c\u0435\u0436\u0434\u0443 \u0442\u0438\u043f\u0430\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. Bill Schneider \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 Spark \u0438 SQL Server \u043d\u0430 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u043e\u0434\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0435\u0442, \u0434\u0440\u0443\u0433\u0430\u044f \u0443\u0441\u0435\u043a\u0430\u0435\u0442. IBM \u0432 Db2 \u043f\u043e\u0448\u043b\u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0445 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043d\u0435\u0441\u043b\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u2014 \u0441\u0435\u043c\u044c \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u00ab\u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0439 \u0432\u0432\u0435\u0440\u0445 \u043d\u0430 \u0440\u043e\u0432\u043d\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435\u00bb \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0430\u043c \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0421\u0423\u0411\u0414: \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u044f\u0432\u043d\u043e \u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043a\u0430\u043a \u0442\u043e\u0433\u043e \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0443\u043d\u043a\u0442 2.3. \u0424\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438\u0417\u0430\u043a\u043e\u043d \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438, \u043d\u043e \u043d\u0435 \u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0410 \u0432\u043e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043e\u0431\u043c\u0435\u043d\u0430 \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f: \u0438\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435, \u0438\u043d\u0430\u0447\u0435 \u0434\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0439\u043c\u0443\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.ISO 20022 \u2014 \u044d\u0442\u043e \u0442\u043e, \u043d\u0430 \u0447\u0451\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 SWIFT, SEPA \u0438 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0451\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0421\u0445\u0435\u043c\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043b\u0435\u0436\u0430\u0442 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435, \u0438 \u0434\u0435\u043d\u0435\u0436\u043d\u0430\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u0432 \u043d\u0438\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0442\u0430\u043a (camt.053):&lt;xs:simpleType name=&#187;ActiveCurrencyAndAmount_SimpleType&#187;&gt;    &lt;xs:restriction base=&#187;xs:decimal&#187;&gt;        &lt;xs:totalDigits value=&#187;18&#8243;\/&gt;        &lt;xs:fractionDigits value=&#187;5&#8243;\/&gt;    &lt;\/xs:restriction&gt;&lt;\/xs:simpleType&gt;&lt;xs:complexType name=&#187;ActiveCurrencyAndAmount&#187;&gt;    &lt;xs:extension base=&#187;ActiveCurrencyAndAmount_SimpleType&#187;&gt;        &lt;xs:attribute name=&#187;Ccy&#187; type=&#187;ActiveCurrencyCode&#187; use=&#187;required&#187;\/&gt;    &lt;\/xs:extension&gt;&lt;\/xs:complexType&gt;\u0422\u043e \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e \u044d\u0442\u043e NUMERIC(18,5) \u043f\u043b\u044e\u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u0430\u043b\u044e\u0442\u044b, \u043f\u0440\u0438\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0439 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e: \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 Ccy \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e. \u041f\u0440\u044f\u043c\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u0435\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0435\u0442, \u043d\u043e \u0441\u0443\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u0430: \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c JSON-\u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0435 \u0441\u0443\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u0435\u043d.ISO 20022 JSON Schema draft, 10.06.2025\u00abNumber type are represented as strings because there was a preference for validating the total digits and fraction digits in the schema.\u00bbFIX (\u0431\u0438\u0440\u0436\u0435\u0432\u0430\u044f \u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044f) \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e: \u0442\u0438\u043f \u0442\u0430\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f float, \u043d\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0430 \u044d\u0442\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0442. \u0412 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c FIX 4.4 float \u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0446\u0438\u0444\u0440 \u0441 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0437\u043d\u0430\u043a\u043e\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438, \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0438 \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0445 \u0446\u0438\u0444\u0440.FIX 4.4 dictionary, Onix\u00abSequence of digits with optional decimal point and sign character\u2026 All float fields must accommodate up to fifteen significant digits.\u00bb\u0412 FIXML \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u044f\u0432\u043d\u0430\u044f: float, Qty, Price, Amt, Percentage \u2192 xs:decimal.\u0410 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 SBE \u2014 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0438\u0440\u0436\u0438 \u0433\u043e\u043d\u044f\u044e\u0442 \u043f\u043e\u0442\u043e\u043a\u0438 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a, \u2014 \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0446\u0435\u043d \u0438 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0433\u043e, \u0430 \u0434\u0432\u043e\u0438\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-490885","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/490885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=490885"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/490885\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=490885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=490885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=490885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}