เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเด™เตเด™เดณเตเดŸเต† เด…เดฏเดฅเดพเตผเดคเตเดฅ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•

เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดฒเต‡เด–เดจเด™เตเด™เตพ PostgreSQL-เตฝ เดŸเตˆเดชเตเดชเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต, เด†เดฆเตเดฏเดคเตเดคเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเด•เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดŽเดจเดฟเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเดฏ SQL เด…เดจเตเดตเต‡เดทเดฃเด™เตเด™เดณเตเดŸเต† เด•เต‹เดกเต เดŽเดคเตเดฐ เดคเดตเดฃ เดฑเดฟเดฏเตฝ เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดพเดฃเดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เด‡เดคเต เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฑเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด‡เดคเดฟเดจเต เดชเดฟเดจเตเดจเดฟเดฒเตเดณเตเดณ เด…เดชเด•เดŸเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ เดŽเดจเตเดจเตเด‚ เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต. เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅ เดจเดฎเตเดชเดฑเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เด…เดตเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดฒเตเด‚ เดนเดฌเตเดฐเต†เดฏเดฟเดฒเตเด‚ เดงเดพเดฐเดพเดณเด‚ เดจเดฒเตเดฒ เดฒเต‡เด–เดจเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเต. เด…เดคเดฟเดจเดพเตฝ, เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดžเดพเตป PostgreSQL-เตฝ เด…เดคเตเดคเดฐเด‚ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดตเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚, เด…เดคเตเดตเดดเดฟ SQL เด…เดจเตเดตเต‡เดทเดฃ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เด…เดต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด‚.

PostgreSQL เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดธเด‚เด•เตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดธเตเดคเดพเดตเดฟเด•เตเด•เตเดจเตเดจเต: "เด…เดคเตเดคเดฐเด‚ เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเตเด‚ เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเตฝ เดธเดฎเดฏเดคเตเดคเต เด…เดตเดฏเตเดŸเต† เดชเตเดฐเดšเดฐเดฃเดตเตเด‚ เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดธเดฏเตปเดธเดฟเดจเตเดฑเต†เดฏเตเด‚ เด’เดฐเต เดฎเตเดดเตเดตเตป เดถเดพเด–เดฏเตเดŸเต†เดฏเตเด‚ เดตเดฟเดทเดฏเดฎเดพเดฃเต, เด…เดคเต เด‡เดตเดฟเดŸเต† เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ" (เดตเดพเดฏเดจเด•เตเด•เดพเดฐเดจเต† IEEE 754 เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเต‡เด•เดชเต‚เตผเดตเตเดตเด‚ เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ). เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดฟเดถเด•เตเด•เดณเดพเดฃเต เด‡เดตเดฟเดŸเต† เด‰เดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเดคเต? เดจเดฎเตเด•เตเด•เต เด…เดต เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเดพเด‚, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดžเดพเตป เดตเต€เดฃเตเดŸเตเด‚ เดชเต‡เดจ เดŽเดŸเตเดคเตเดคเดคเต†เดจเตเดจเต เด‰เดŸเตป เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด‚.

เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดŽเดŸเตเด•เตเด•เดพเด‚:

********* ะ—ะะŸะ ะžะก *********
SELECT 0.1::REAL;
**************************
float4
--------
    0.1
(1 ัั‚ั€ะพะบะฐ)

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดžเด™เตเด™เตพ เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เด’เดจเตเดจเตเด‚ เด•เดพเดฃเดฟเดฒเตเดฒ - เดžเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดš 0.1 เดฒเดญเดฟเด•เตเด•เตเด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดจเดฎเตเด•เตเด•เต เด‡เดคเต 0.1 เด†เดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚:

********* ะ—ะะŸะ ะžะก *********
SELECT 0.1::REAL = 0.1;
**************************
?column?
----------
f
(1 ัั‚ั€ะพะบะฐ)

เดคเตเดฒเตเดฏเดฎเดฒเตเดฒ! เดŽเดจเตเดคเต†เดฒเตเดฒเดพเด‚ เด…เดคเตเดญเตเดคเด™เตเด™เตพ! เดŽเดจเตเดจเดพเตฝ เด•เต‚เดŸเตเดคเตฝ, เด•เต‚เดŸเตเดคเตฝ. เด†เดฐเต‹ เดชเดฑเดฏเตเด‚, REAL เดญเดฟเดจเตเดจเดธเด‚เด–เตเดฏเด•เดณเต‹เดŸเต เดฎเต‹เดถเดฎเดพเดฏเดฟ เดชเต†เดฐเตเดฎเดพเดฑเตเดฎเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดพเด‚, เด…เดคเดฟเดจเดพเตฝ เดžเดพเตป เด…เดตเดฟเดŸเต† เดชเต‚เตผเดฃเตเดฃ เดธเด‚เด–เตเดฏเด•เตพ เดจเตฝเด•เตเด‚, เดŽเดฒเตเดฒเดพเด‚ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด‚. เดถเดฐเดฟ, เดจเดฎเตเด•เตเด•เต 123 เดŽเดจเตเดจ เดจเดฎเตเดชเตผ เดฑเดฟเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚:

********* ะ—ะะŸะ ะžะก *********
SELECT 123456789::REAL::INT;
**************************
   int4   
-----------
123456792
(1 ัั‚ั€ะพะบะฐ)

เด…เดคเต 3 เดŽเดฃเตเดฃเด‚ เด•เต‚เดŸเดฟเดฏเดพเดฏเดฟ! เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚, เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด’เดŸเตเดตเดฟเตฝ เดŽเด™เตเด™เดจเต† เด•เดฃเด•เตเด•เดพเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดฎเดฑเดจเตเดจเต! เด…เดคเต‹ เดจเดฎเตเดฎเตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต‹? เดจเดฎเตเด•เตเด•เต เด…เดคเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเด‚.

เด†เดฆเตเดฏเด‚, เดจเดฎเตเด•เตเด•เต เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดเดคเต เดฆเดถเดพเด‚เดถ เดธเด‚เด–เตเดฏเดฏเตเด‚ เดชเดคเตเดคเดฟเดจเตเดฑเต† เดถเด•เตเดคเดฟเด•เดณเดพเดฏเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚. เด…เดคเดฟเดจเดพเตฝ, 123.456 เดŽเดจเตเดจ เดธเด‚เด–เตเดฏ 1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + โ€‹โ€‹6*10-3 เดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดŽเดจเตเดจเดพเตฝ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดฌเตˆเดจเดฑเดฟ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด…เด•เตเด•เด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด…เดต เดฐเดฃเตเดŸเดฟเดจเตเดฑเต† เดถเด•เตเดคเดฟเด•เดณเดฟเตฝ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด…เดคเดฟเดจเดพเตฝ, เดฌเตˆเดจเดฑเดฟเดฏเดฟเดฒเต† 5.625 เดŽเดจเตเดจ เดธเด‚เด–เตเดฏเดฏเต† 101.101 เด†เดฏเดฟ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต 1*22 + 0*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 เดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดฐเดฃเตเดŸเดฟเดจเตเดฑเต† เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเต เดถเด•เตเดคเดฟเด•เตพ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดฎเตเดดเตเดตเตป เดฆเดถเดพเด‚เดถ เดธเด‚เด–เตเดฏเด•เตพ (1, 2, 4, 8, 16, เดฎเตเดคเดฒเดพเดฏเดต) เดจเตฝเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดจเต†เด—เดฑเตเดฑเต€เดตเต เด‰เดณเตเดณเดตเดฏเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด•เต‚เดŸเตเดคเตฝ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต (0.5, 0.25, 0.125, 0,0625, เดฎเตเดคเดฒเดพเดฏเดต). เดชเตเดฐเดถเตเดจเด‚ เด…เดคเดพเดฃเต เดŽเดฒเตเดฒเดพ เดฆเดถเดพเด‚เดถเด™เตเด™เดณเต†เดฏเตเด‚ เด’เดฐเต เดชเดฐเดฟเดฎเดฟเดค เดฌเตˆเดจเดฑเดฟ เดญเดฟเดจเตเดจเดธเด‚เด–เตเดฏเดฏเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด…เด™เตเด™เดจเต†, เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เดญเดฟเดจเตเดจเดธเด‚เด–เตเดฏเดฏเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดจเดฎเตเดฎเตเดŸเต† เด•เตเดชเตเดฐเดธเดฟเดฆเตเดงเดฎเดพเดฏ 0.1 เด†เดตเตผเดคเตเดคเดจ เดฎเต‚เดฒเตเดฏเด‚ 0.0 (0011) เด†เดฏเดฟ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจเต. เดคเดคเตเดซเดฒเดฎเดพเดฏเดฟ, เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเต† เดˆ เดธเด‚เด–เตเดฏเดฏเตเดŸเต† เด…เดจเตเดคเดฟเดฎ เดฎเต‚เดฒเตเดฏเด‚ เดฌเดฟเดฑเตเดฑเต เดกเต†เดชเตเดคเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเด‚.

เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเด•เตพ เดŽเด™เตเด™เดจเต† เดธเด‚เดญเดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เดจเตเดจเต เด“เตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เดชเตŠเดคเตเดตเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเดฏเดฟเตฝ เดฎเต‚เดจเตเดจเต เดชเตเดฐเดงเดพเดจ เดญเดพเด—เด™เตเด™เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต - เดšเดฟเดนเตเดจเด‚, เดฎเดพเดจเตเดฑเดฟเดธ, เด˜เดพเดคเด‚. เดšเดฟเดนเตเดจเด‚ เดชเตเดฒเดธเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเตˆเดจเดธเต เด†เด•เดพเด‚, เด…เดคเดฟเดจเดพเตฝ เด…เดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดฌเดฟเดฑเตเดฑเต เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดฎเดพเดจเตเดฑเดฟเดธเดฏเตเดŸเต†เดฏเตเด‚ เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เดฃเดจเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดฌเดฟเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเดคเตเดคเดฟเดจเต, เดฎเดพเดจเตเดฑเดฟเดธเดฏเตเดŸเต† เดฆเตˆเตผเด˜เตเดฏเด‚ 23 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฃเต (1 เดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ เด’เดฐเต เดฌเดฟเดฑเตเดฑเต เดฎเดพเดจเตเดฑเดฟเดธเดฏเตเดŸเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเต‚เด•เตเดทเตโ€Œเดฎเดฎเดพเดฏเดฟ เดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดซเดฒเด‚ 24 เด†เดฃเต), เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เดฃเดจเตเดฑเต 8 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฃเต. เด†เด•เต† 32 เดฌเดฟเดฑเตเดฑเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ. เดกเดฌเดฟเตพ เดชเตเดฐเดฟเดธเดฟเดทเตป เดคเดฐเดคเตเดคเดฟเดจเต, เดฎเดพเดจเตเดฑเดฟเดธเดฏเตเดŸเต† เดจเต€เดณเด‚ 52 เดฌเดฟเดฑเตเดฑเตเด•เดณเตเด‚ เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เดฃเดจเตเดฑเต 11 เดฌเดฟเดฑเตเดฑเตเด•เดณเตเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดฎเตŠเดคเตเดคเด‚ 64 เดฌเดฟเดฑเตเดฑเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 8 เดฌเตˆเดฑเตเดฑเตเด•เตพ. PostgreSQL เดซเตเดฒเต‹เดŸเตเดŸเดฟเด‚เด—เต เดชเต‹เดฏเดฟเดจเตเดฑเต เดจเดฎเตเดชเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด‰เดฏเตผเดจเตเดจ เด•เตƒเดคเตเดฏเดคเดฏเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เดฆเดถเดพเด‚เดถ เดธเด‚เด–เตเดฏเดฏเดพเดฏ 0.1 เดฏเดฅเดพเตผเดคเตเดฅเดตเตเด‚ เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เดคเดฐเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเด‚. เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เดฃเดจเตเดฑเดฟเดจเตเดฑเต† เดšเดฟเดนเตเดจเดตเตเด‚ เดฎเต‚เดฒเตเดฏเดตเตเด‚ เด’เดจเตเดจเตเดคเดจเตเดจเต†เดฏเดพเดฏเดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพ เดฎเดพเดจเตเดฑเดฟเดธเดฏเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด‚ (เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เดฃเดจเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดชเต‚เดœเตเดฏ เดฏเดฅเดพเตผเดคเตเดฅ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒเดพเดคเตเดค เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดžเดพเตป เดฎเดจเดƒเดชเต‚เตผเดตเตเดตเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เด…เดต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดธเดคเตเดคเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเดฟเดšเดฒเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเต, เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, IEEE 754 เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด•เดพเดฃเตเด•). เดจเดฎเตเด•เตเด•เต เดŽเดจเตเดคเต เดฒเดญเดฟเด•เตเด•เตเด‚? เดฎเตเด•เดณเดฟเดฒเต† เดตเดฐเดฟเดฏเดฟเตฝ เดžเดพเตป เดฑเดฟเดฏเตฝ เดคเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ "เดฎเดจเตเดคเดฟเดธเตเดธ" เดจเตฝเด•เตเด‚ (เด…เดตเดธเดพเดจ เดฌเดฟเดฑเตเดฑเดฟเดจเตเดฑเต† เดฑเต—เดฃเตเดŸเดฟเด‚เด—เต 1 เด•เตŠเดฃเตเดŸเต เด…เดŸเตเดคเตเดคเตเดณเตเดณ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดจเดฎเตเดชเดฑเดฟเดฒเต‡เด•เตเด•เต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต 0.099999 เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚...), เดคเดพเดดเดคเตเดคเต† เดตเดฐเดฟเดฏเดฟเตฝ - เด‡เดคเดฟเดจเดพเดฏเดฟ เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เดคเดฐเด‚:

0.000110011001100110011001101
0.00011001100110011001100110011001100110011001100110011001

เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚, เด‡เดต เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดฐเดฃเตเดŸเต เดธเด‚เด–เตเดฏเด•เดณเดพเดฃเต! เด…เดคเดฟเดจเดพเตฝ, เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด†เดฆเตเดฏ เดธเด‚เด–เตเดฏ เดชเต‚เดœเตเดฏเด™เตเด™เดณเดพเตฝ เดชเดพเดกเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚, เด…เดคเดฟเดจเดพเตฝ, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดตเดฒเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ (เดฑเต—เดฃเตเดŸเดฟเด‚เด—เต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ - เดฌเต‹เตพเดกเดฟเตฝ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดคเต). เด‡เดคเต เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด…เดตเตเดฏเด•เตเดคเดค เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดธเด‚เด–เตเดฏ 0.1 เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดธเด‚เด–เตเดฏเดฏเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฐเดฃเตเดŸเตเด‚ เด’เดฐเต‡ เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดšเตเดฐเตเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดจเดฎเตเดฎเตพ เดฎเตเด•เดณเดฟเตฝ เด•เดพเดฃเตเดจเตเดจเดคเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด‰เดฃเตเดŸเต. เดจเดฎเตเด•เตเด•เต เดšเต‹เดฆเตเดฏเด‚ เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฟเด•เตเด•เดพเด‚, เด…เด™เตเด™เดจเต† เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด‚:

********* ะ—ะะŸะ ะžะก *********
SELECT 0.1::REAL > 0.1::DOUBLE PRECISION;
**************************
?column?
----------
t
(1 ัั‚ั€ะพะบะฐ)

เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, 0.1 เดŽเดจเตเดจ เดธเด‚เด–เตเดฏเดฏเต† เดฏเดฅเดพเตผเดคเตเดฅเดตเตเด‚ เด‡เดฐเดŸเตเดŸ เดธเต‚เดšเด•เดตเตเดฎเดพเดฏเดฟ เด‡เดฐเดŸเตเดŸเดฟเดฏเดพเดฏเดฟ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เด•เดŸเด™เตเด•เดฅเดฏเตเด•เตเด•เตเดณเตเดณ เด‰เดคเตเดคเดฐเด‚ เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚:

********* ะ—ะะŸะ ะžะก *********
SELECT 0.1::REAL::DOUBLE PRECISION;
**************************

      float8       
-------------------
0.100000001490116
(1 ัั‚ั€ะพะบะฐ)

เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เด‰เดฆเดพเดนเดฐเดฃเดตเตเด‚ เด‡เดคเต เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. 123 เดŽเดจเตเดจ เดธเด‚เด–เตเดฏ เดฒเดณเดฟเดคเดฎเดพเดฃเต เดฎเดพเดจเตเดฑเดฟเดธเดฏเต† 24 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เด…เดธเดพเดงเตเดฏเดฎเดพเดฃเต (23 เดธเตเดชเดทเตเดŸเดฎเดพเดฏ + 1 เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต). 24 เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเตฝ เด‰เตพเด•เตเด•เตŠเดณเตเดณเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดชเดฐเดฎเดพเดตเดงเดฟ เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ 224-1 = 16 เด†เดฃเต. เด…เดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เดธเด‚เด–เตเดฏ 777 เดŽเดจเตเดจเดคเต เดเดฑเตเดฑเดตเตเด‚ เด…เดŸเตเดคเตเดคเตเดณเตเดณ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ 215 เดฒเต‡เด•เตเด•เต เดฑเต—เดฃเตเดŸเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดคเดฐเด‚ เด‡เดฐเดŸเตเดŸ เดธเต‚เด•เตเดทเตโ€Œเดฎเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดžเด™เตเด™เตพ เด‡เดจเดฟ เดˆ เดฐเด‚เด—เด‚ เด•เดพเดฃเดฟเดฒเตเดฒ:

********* ะ—ะะŸะ ะžะก *********
SELECT 123456789::DOUBLE PRECISION::INT;
**************************
   int4   
-----------
123456789
(1 ัั‚ั€ะพะบะฐ)

เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚. เด…เดคเตเดญเตเดคเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดฒเตเดฒเดพเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเด‚ เดŽเดคเตเดฐเดฎเดพเดคเตเดฐเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดจเดฒเตเดฒ เด•เดพเดฐเดฃเดฎเดพเดฃเต. เด’เดฐเตเดชเด•เตเดทเต‡ เด…เดคเดฟเดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดตเดฒเดฟเดฏ เดจเต‡เดŸเตเดŸเด‚, เด…เดฑเดฟเดฏเดพเดตเตเดจเตเดจ เด•เตƒเดคเตเดฏเดค เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจ เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเดฒเตเด•เดณเตเดŸเต† เดตเต‡เด—เดคเดฏเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเดคเดฟเดตเต เด‰เดชเดฏเต‹เด—เดคเตเดคเต† เดจเตเดฏเดพเดฏเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเดพเตผเดตเดคเตเดฐเดฟเด• เดธเดพเดนเดšเดฐเตเดฏเด‚ เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต‹? เดšเดฟเดจเตเดคเดฟเด•เตเด•เดฐเตเดคเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•