เดธเด‚เดถเดฏเดพเดธเตเดชเดฆเดฎเดพเดฏ เดคเดฐเด™เตเด™เตพ

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

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

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เด’เดจเตเดจเต. เดฏเดฅเดพเตผเดคเตเดฅ/เด‡เดฐเดŸเตเดŸ เด•เตƒเดคเตเดฏเดค/เดธเด‚เด–เตเดฏเดพ/เดชเดฃเด‚

เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดฒเต† เด†เดถเตเดšเดฐเตเดฏเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดธเด‚เด–เตเดฏเดพ เดคเดฐเด™เตเด™เตพ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดถเตเดจเด•เดฐเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดชเด•เตเดทเต‡ เด…เดคเต เดŽเด™เตเด™เดจเต†เดฏเดพเดฏเดพเดฒเตเด‚. เด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เด…เดตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚. เด…เด™เตเด™เดจเต†โ€ฆ

เดŽเด™เตเด™เดจเต† เดŽเดฃเตเดฃเดฃเดฎเต†เดจเตเดจเต เดฎเดฑเดจเตเดจเต

SELECT 0.1::real = 0.1

?column?
boolean
---------
f

เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚? PostgreSQL เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเดคเตเดค เด•เต‹เตบเดธเตเดฑเตเดฑเดจเตเดฑเต 0.1-เดจเต† เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เด†เดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฏเดฅเดพเตผเดคเตเดฅ เดคเดฐเดคเตเดคเดฟเดจเตเดฑเต† 0.1-เดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดถเตเดจเด‚. เด‡เดต เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด…เตผเดคเตเดฅเด™เตเด™เดณเดพเดฃเต! เดฎเต†เดทเต€เตป เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเด•เดณเต† เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด†เดถเดฏเด‚. 0.1 เด’เดฐเต เดชเดฐเดฟเดฎเดฟเดค เดฌเตˆเดจเดฑเดฟ เดซเตเดฐเดพเด•เตเดทเดจเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเดฟเดจเดพเตฝ (เดฌเตˆเดจเดฑเดฟเดฏเดฟเตฝ เด…เดคเต 0.0 (0011) เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚), เดตเตเดฏเดคเตเดฏเดธเตเดค เดฌเดฟเดฑเตเดฑเต เดกเต†เดชเตโ€Œเดฑเตเดฑเตเด•เตพ เด‰เดณเตเดณ เดธเด‚เด–เตเดฏเด•เตพ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดคเดฟเดจเดพเตฝ เด…เดต เดคเตเดฒเตเดฏเดฎเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เดซเดฒเด‚. เดชเตŠเดคเตเดตเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, เด‡เดคเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดทเดฏเดฎเดพเดฃเต; เดžเดพเตป เด‡เดตเดฟเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดŽเดดเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ.

เดชเดฟเดถเด•เต เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต เดตเดฐเตเดจเตเดจเต?

SELECT double precision(1)

ERROR:  syntax error at or near "("
LINE 1: SELECT double precision(1)
                               ^
********** ะžัˆะธะฑะบะฐ **********
ERROR: syntax error at or near "("
SQL-ัะพัั‚ะพัะฝะธะต: 42601
ะกะธะผะฒะพะป: 24

เดŸเตˆเดชเตเดชเต เด•เดพเดธเตเดฑเตเดฑเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ PostgreSQL เดซเด™เตเดทเดฃเตฝ เดจเตŠเดŸเตเดŸเต‡เดทเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดชเดฒเตผเด•เตเด•เตเด‚ เด…เดฑเดฟเดฏเดพเด‚. เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต 1::int เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, int(1) เดŽเดจเตเดจเตเด‚ เดŽเดดเตเดคเดพเด‚, เด…เดคเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดŽเดจเตเดจเดพเตฝ เดจเดฟเดฐเดตเดงเดฟ เดชเดฆเด™เตเด™เตพ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจ เดคเดฐเด™เตเด™เตพเด•เตเด•เดฒเตเดฒ! เด…เดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเด™เตเดทเดฃเตฝ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด‡เดฐเดŸเตเดŸ เดชเตเดฐเดฟเดธเดฟเดทเตป เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดธเด‚เด–เตเดฏเดพ เดฎเต‚เดฒเตเดฏเด‚ เดจเตฝเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดˆ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ float8 เดจเตเดฑเต† เด…เดชเดฐเดจเดพเดฎเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เด…เดคเดพเดฏเดคเต, SELECT float8(1).

เด…เดจเดจเตเดคเดคเดฏเต‡เด•เตเด•เดพเตพ เดตเดฒเตเดคเต เดŽเดจเตเดคเดพเดฃเต?

SELECT 'Infinity'::double precision < 'NaN'::double precision

?column?
boolean
---------
t

เด…เดคเต เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต†เดจเตเดจเต เดจเต‹เด•เตเด•เต‚! เด…เดจเดจเตเดคเดคเดฏเต‡เด•เตเด•เดพเตพ เดตเดฒเตเดคเต เดŽเดจเตเดคเต‹ เด‰เดฃเตเดŸเต†เดจเตเดจเต เด…เดคเต เดฎเดพเดฑเตเดจเตเดจเต, เด…เดคเต NaN เด†เดฃเต! เด…เดคเต‡ เดธเดฎเดฏเด‚, PostgreSQL เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดจเดฎเตเดฎเต† เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏ เด•เดฃเตเดฃเตเด•เดณเต‹เดŸเต† เดจเต‹เด•เตเด•เตเด•เดฏเตเด‚ NaN เดฎเดฑเตเดฑเต‡เดคเตŠเดฐเต เดธเด‚เด–เตเดฏเดฏเต‡เด•เตเด•เดพเดณเตเด‚ เดตเดฒเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เด…เดคเดฟเดจเดพเตฝ เด…เดจเดจเตเดคเดคเดฏเดพเดฃเต†เดจเตเดจเตเด‚ เด…เดตเด•เดพเดถเดชเตเดชเต†เดŸเตเดจเตเดจเต. -NaN เดจเต เดตเดฟเดชเดฐเต€เดคเดตเตเด‚ เดถเดฐเดฟเดฏเดพเดฃเต. เดนเดฒเต‹, เด—เดฃเดฟเดค เดชเตเดฐเต‡เดฎเดฟเด•เดณเต‡! เดŽเดจเตเดจเดพเตฝ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เดชเดถเตเดšเดพเดคเตเดคเดฒเดคเตเดคเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดพเด‚ เด“เตผเด•เตเด•เดฃเด‚.

เด•เดฃเตเดฃเต เดšเตเดฑเตเดฑเดฟเด•เตเด•เดฑเด™เตเด™เตเดจเตเดจเต

SELECT round('2.5'::double precision)
     , round('2.5'::numeric)

      round      |  round
double precision | numeric
-----------------+---------
2                | 3

เดฌเต‡เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดฑเตเดฑเตŠเดฐเต เด…เดชเตเดฐเดคเต€เด•เตเดทเดฟเดค เด†เดถเด‚เดธ. เดตเต€เดฃเตเดŸเตเด‚, เด‡เดฐเดŸเตเดŸ เด•เตƒเดคเตเดฏเดคเดฏเตเด•เตเด•เตเด‚ เดธเด‚เด–เตเดฏเดพ เดคเดฐเด™เตเด™เตพเด•เตเด•เตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฑเต—เดฃเตเดŸเดฟเด‚เด—เต เด‡เดซเด•เตเดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เด“เตผเด•เตเด•เตเด•. เดธเด‚เด–เตเดฏเดฏเตเด•เตเด•เต - เดธเดพเดงเดพเดฐเดฃ เดฐเต€เดคเดฟ, 0,5 เดฑเต—เดฃเตเดŸเต เด…เดชเตเดชเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด‡เดฐเดŸเตเดŸ เด•เตƒเดคเตเดฏเดคเดฏเตเด•เตเด•เต - 0,5 เดŽเดจเตเดจเดคเต เดเดฑเตเดฑเดตเตเด‚ เด…เดŸเตเดคเตเดคเตเดณเตเดณ เด‡เดฐเดŸเตเดŸ เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเตƒเดคเตเดคเดพเด•เตƒเดคเดฟเดฏเดฟเดฒเดพเดฃเต.

เดชเดฃเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด•เดคเดฏเดพเดฃเต

SELECT '10'::money::float8

ERROR:  cannot cast type money to double precision
LINE 1: SELECT '10'::money::float8
                          ^
********** ะžัˆะธะฑะบะฐ **********
ERROR: cannot cast type money to double precision
SQL-ัะพัั‚ะพัะฝะธะต: 42846
ะกะธะผะฒะพะป: 19

PostgreSQL เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดชเดฃเด‚ เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเดฏเดฒเตเดฒ. เดšเดฟเดฒ เดตเตเดฏเด•เตเดคเดฟเด•เดณเตเดŸเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเดฒเตเด‚. เดธเด‚เด–เตเดฏเดพ เดคเดฐเดคเตเดคเต† เดชเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดชเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดคเดฐเด‚ เด•เดพเดธเตโ€Œเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเด‚เด–เตเดฏเดพ เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดธเดพเดงเตเดฏเดฎเดพเด•เต‚ เดŽเดจเตเดจเต เดจเดพเด‚ เด“เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดนเตƒเดฆเดฏเด‚ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เด•เดณเดฟเด•เตเด•เดพเด‚. เดŽเดจเตเดจเดพเตฝ เด…เดคเต เด’เดฐเต‡ เดชเดฃเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เดšเต†เดฑเตเดคเตเด‚ เด•เตเดฐเดฎเดพเดจเตเด—เดคเดตเตเดฎเดพเดฏ เดคเดฒเดฎเตเดฑ

SELECT *
  FROM generate_series(1::smallint, 5::smallint, 1::smallint)

ERROR:  function generate_series(smallint, smallint, smallint) is not unique
LINE 2:   FROM generate_series(1::smallint, 5::smallint, 1::smallint...
               ^
HINT:  Could not choose a best candidate function. You might need to add explicit type casts.
********** ะžัˆะธะฑะบะฐ **********
ERROR: function generate_series(smallint, smallint, smallint) is not unique
SQL-ัะพัั‚ะพัะฝะธะต: 42725
ะŸะพะดัะบะฐะทะบะฐ: Could not choose a best candidate function. You might need to add explicit type casts.
ะกะธะผะฒะพะป: 18

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

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เดฐเดฃเตเดŸเต. "char"/char/varchar/text

เดชเตเดฐเดคเต€เด• เดคเดฐเด™เตเด™เดณเดฟเดฒเตเด‚ เดจเดฟเดฐเดตเดงเดฟ เดตเดฟเดšเดฟเดคเตเดฐเดคเด•เดณเตเดฃเตเดŸเต. เด…เดตเดฐเต†เดฏเตเด‚ เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเดพเด‚.

เด‡เดคเต เดŽเดจเตเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเดพเดฃเต?

SELECT 'ะŸะ•ะขะฏ'::"char"
     , 'ะŸะ•ะขะฏ'::"char"::bytea
     , 'ะŸะ•ะขะฏ'::char
     , 'ะŸะ•ะขะฏ'::char::bytea

 char  | bytea |    bpchar    | bytea
"char" | bytea | character(1) | bytea
-------+-------+--------------+--------
 โ•จ     | xd0  | ะŸ            | xd09f

เด‡เดคเต เดเดคเต เดคเดฐเด‚ "เดšเดพเตผ" เด†เดฃเต, เด‡เดคเต เดเดคเต เดคเดฐเด‚ เด•เต‹เดฎเดพเดณเดฟเดฏเดพเดฃเต? เดžเด™เตเด™เตพเด•เตเด•เต เด…เดต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ ... เด•เดพเดฐเดฃเด‚ เด…เดคเต เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดคเต เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดšเดพเดฐเดฎเดพเดฃเต†เดจเตเดจเต เดจเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดšเดพเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดคเต เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดคเดฎเดพเดฃเต, เด…เดคเต เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดฌเตˆเดฑเตเดฑเต เดฎเดพเดคเตเดฐเด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดšเดพเตผ เด†เดฆเตเดฏ เดชเตเดฐเดคเต€เด•เด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด†เดฆเตเดฏเดคเตเดคเต† เดชเตเดฐเดคเต€เด•เด‚ P เดŽเดจเตเดจ เด…เด•เตเดทเดฐเดฎเดพเดฃเต, เด…เดคเต เดฏเต‚เดฃเดฟเด•เตเด•เต‹เดกเต เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเตฝ 2 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต, เดซเดฒเด‚ เดฌเตˆเดฑเตเดฑเดฟ เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‡เดคเต เดคเต†เดณเดฟเดฏเดฟเด•เตเด•เตเดจเตเดจเต. "char" เดคเดฐเด‚ เดˆ เดฏเต‚เดฃเดฟเด•เต‹เดกเต เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดฌเตˆเดฑเตเดฑเต เดฎเดพเดคเตเดฐเดฎเต‡ เดŽเดŸเตเด•เตเด•เต‚. เดชเดฟเดจเตเดจเต† เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดˆ เดคเดฐเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต? เด‡เดคเต เดชเตเดฐเดคเตเดฏเต‡เด• เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฐเดฎเดพเดฃเต†เดจเตเดจเต PostgreSQL เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเต. เด…เดคเตเด•เตŠเดฃเตเดŸเต เดจเดฎเตเด•เตเด•เต เด…เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเดพเตป เดธเดพเดงเตเดฏเดคเดฏเดฟเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เด…เดตเดจเตเดฑเต† เด•เดฃเตเดฃเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเต‹เด•เตเด•เตเด•, เด…เดตเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพ เด…เดตเดจเต† เด•เดฃเตเดŸเตเดฎเตเดŸเตเดŸเตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เด…เดงเดฟเด• เด‡เดŸเด™เตเด™เตพ. เด•เดพเดดเตเดšเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต, เดฎเดจเดธเตเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต

SELECT 'abc   '::char(6)::bytea
     , 'abc   '::char(6)::varchar(6)::bytea
     , 'abc   '::varchar(6)::bytea

     bytea     |   bytea  |     bytea
     bytea     |   bytea  |     bytea
---------------+----------+----------------
x616263202020 | x616263 | x616263202020

เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเต‹เด•เตเด•เตเด•. เดŽเดฒเตเดฒเดพ เดซเดฒเด™เตเด™เดณเตเด‚ เดžเดพเตป เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดฌเตˆเดŸเต€ เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตโ€Œเดคเต, เด…เดคเดฟเดฒเต‚เดŸเต† เด…เดตเดฟเดŸเต†เดฏเตเดณเตเดณเดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด•เดพเดฃเดพเดจเดพเด•เตเด‚. varchar(6) เดฒเต‡เด•เตเด•เต เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเดคเดฟเดจเต เดถเต‡เดทเด‚ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดŸเตเดฐเต†เดฏเดฟเดฒเดฟเด‚เด—เต เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต? เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดธเด‚เด•เตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดธเตเดคเดพเดตเดฟเด•เตเด•เตเดจเตเดจเต: "เด•เดฅเดพเดชเดพเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฐเดคเต€เด• เดคเดฐเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดชเดฟเดจเตเดจเดฟเดฒเตเดณเตเดณ เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต เดจเดฟเดฐเดธเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚." เดˆ เด…เดจเดฟเดทเตเดŸเด‚ เด“เตผเด•เตเด•เดฃเด‚. เด’เดฐเต เด‰เดฆเตเดงเดฐเดฟเดšเตเดš เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด•เต‹เตบเดธเตเดฑเตเดฑเดจเตเดฑเต เดจเต‡เดฐเดฟเดŸเตเดŸเต varchar(6) เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเตเดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดŸเตเดฐเต†เดฏเดฟเดฒเดฟเด‚เด—เต เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต เด…เดคเตเดญเตเดคเด™เตเด™เตพ.

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เดฎเต‚เดจเตเดจเต. json/jsonb

JSON เดธเตเดตเดจเตเดคเด‚ เดœเต€เดตเดฟเดคเด‚ เดจเดฏเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด˜เดŸเดจเดฏเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เด…เดคเดฟเดจเตเดฑเต† เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟเด•เดณเตเด‚ PostgreSQL- เดจเตเด‚ เด…เดฒเตเดชเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เด‡เดคเดพ.

เดœเต‹เตบเดธเดฃเตเด‚ เดœเต‹เตบเดธเดฃเตเด‚. เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด…เดจเตเดญเดตเดฟเด•เตเด•เต

SELECT 'null'::jsonb IS NULL

?column?
boolean
---------
f

JSON-เดจเต เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดจเตพ เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟ เด‰เดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚, เด…เดคเต PostgreSQL-เดฒเต† NULL เดจเตเดฑเต† เด…เดจเดฒเต‹เด—เต เด…เดฒเตเดฒ. เด…เดคเต‡ เดธเดฎเดฏเด‚, JSON เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเต เดคเดจเตเดจเต† NULL เดฎเต‚เดฒเตเดฏเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เด…เดคเดฟเดจเดพเตฝ SELECT null::jsonb IS NULL (เด’เดฑเตเดฑ เด‰เดฆเตเดงเดฐเดฃเดฟเด•เดณเตเดŸเต† เด…เดญเดพเดตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•) เดŽเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด‚ เด‡เดคเตเดคเดตเดฃ เดถเดฐเดฟเดฏเดพเด•เตเด‚.

เด’เดฐเต เด…เด•เตเดทเดฐเด‚ เดŽเดฒเตเดฒเดพเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต

SELECT '{"1": [1, 2, 3], "2": [4, 5, 6], "1": [7, 8, 9]}'::json

                     json
                     json
------------------------------------------------
{"1": [1, 2, 3], "2": [4, 5, 6], "1": [7, 8, 9]}

---

SELECT '{"1": [1, 2, 3], "2": [4, 5, 6], "1": [7, 8, 9]}'::jsonb

             jsonb
             jsonb
--------------------------------
{"1": [7, 8, 9], "2": [4, 5, 6]}

json เด‰เด‚ jsonb เด‰เด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด˜เดŸเดจเด•เดณเดพเดฃเต เดŽเดจเตเดจเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚. json-เตฝ, เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เด…เดคเต‡เดชเดŸเดฟ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† jsonb-เตฝ เด…เดคเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตโ€Œเดค, เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด˜เดŸเดจเดฏเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด•เต‡เดธเดฟเตฝ, เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด•เต€ 1-เตฝ เดจเดฟเดจเตเดจเต [1, 2, 3] เตฝ เดจเดฟเดจเตเดจเต [7, 8, 9] เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ, เด…เดคเต เด…เดคเต‡ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดตเดธเดพเดจเด‚ เด˜เดŸเดจเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเดจเตเดจเต.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเตเด–เดคเตเดคเต เดจเดฟเดจเตเดจเต เดตเต†เดณเตเดณเด‚ เด•เตเดŸเดฟเด•เตเด•เดฐเตเดคเต

SELECT '{"reading": 1.230e-5}'::jsonb
     , '{"reading": 1.230e-5}'::json

          jsonb         |         json
          jsonb         |         json
------------------------+----------------------
{"reading": 0.00001230} | {"reading": 1.230e-5}

PostgreSQL เด…เดคเดฟเดจเตเดฑเต† JSONB เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅ เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเด‚เด—เต เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เด…เดตเดฏเต† เด•เตเดฒเดพเดธเดฟเด•เตเด•เตฝ เดฐเต‚เดชเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตŠเดฃเตเดŸเตเดตเดฐเดฟเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. JSON เดคเดฐเดคเตเดคเดฟเดจเต เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดฒเตเดชเด‚ เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เด…เดตเตป เดชเดฑเดžเตเดžเดคเต เดถเดฐเดฟเดฏเดพเดฃเต.

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เดจเดพเดฒเต. เดคเต€เดฏเดคเดฟ/เดธเดฎเดฏเด‚/เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต

เดคเต€เดฏเดคเดฟ/เดธเดฎเดฏ เดคเดฐเด™เตเด™เดณเดฟเตฝ เดšเดฟเดฒ เดตเดฟเดšเดฟเดคเตเดฐเดคเด•เดณเตเด‚ เด‰เดฃเตเดŸเต. เดจเดฎเตเด•เตเด•เต เด…เดตเดฐเต† เดจเต‹เด•เตเด•เดพเด‚. เดธเดฎเดฏ เดฎเต‡เด–เดฒเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเดพเดฐเดพเด‚เดถเด‚ เดจเดฟเด™เตเด™เตพ เดจเดจเตเดจเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟเดฏเดพเตฝ เดšเดฟเดฒ เดชเต†เดฐเตเดฎเดพเดฑเตเดฑ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เด‰เดŸเตป เดคเดจเตเดจเต† เด’เดฐเต เดฑเดฟเดธเตผเดตเต‡เดทเตป เดจเดŸเดคเตเดคเดŸเตเดŸเต†. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดทเดฏเดฎเดพเดฃเต.

เดŽเดจเตเดฑเต† เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเดจเตเดจเดฟเดฒเตเดฒ

SELECT '08-Jan-99'::date

ERROR:  date/time field value out of range: "08-Jan-99"
LINE 1: SELECT '08-Jan-99'::date
               ^
HINT:  Perhaps you need a different "datestyle" setting.
********** ะžัˆะธะฑะบะฐ **********
ERROR: date/time field value out of range: "08-Jan-99"
SQL-ัะพัั‚ะพัะฝะธะต: 22008
ะŸะพะดัะบะฐะทะบะฐ: Perhaps you need a different "datestyle" setting.
ะกะธะผะฒะพะป: 8

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

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต เดฒเดญเดฟเดšเตเดšเต?

SELECT '04:05 Europe/Moscow'::time

ERROR:  invalid input syntax for type time: "04:05 Europe/Moscow"
LINE 1: SELECT '04:05 Europe/Moscow'::time
               ^
********** ะžัˆะธะฑะบะฐ **********
ERROR: invalid input syntax for type time: "04:05 Europe/Moscow"
SQL-ัะพัั‚ะพัะฝะธะต: 22007
ะกะธะผะฒะพะป: 8

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

เด…เดตเดจเต†เดจเตเดคเดพ เดชเตเดฐเดถเตเดจเด‚?

เดธเดพเดนเดšเดฐเตเดฏเด‚ เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•. เดŸเตˆเด‚เดธเตโ€Œเดฑเตเดฑเดพเด‚เดชเตเดฑเตเดฑเตโ€Œเดธเต เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดซเต€เตฝเดกเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŸเต‡เดฌเดฟเดณเดฟเดฒเตเดฃเตเดŸเต. เดจเดฟเด™เตเด™เตพ เด…เดคเต เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดˆ เดซเต€เตฝเดกเดฟเตฝ เด’เดฐเต เดธเต‚เดšเดฟเด• เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดคเดฟเดจเตเดฑเต† เด‰เดฏเตผเดจเตเดจ เดธเต†เดฒเด•เตเดฑเตเดฑเดฟเดตเดฟเดฑเตเดฑเดฟ เด•เดพเดฐเดฃเด‚ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดจเตเดฏเดพเดฏเต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต (เดˆ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเด‚ เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚). เด…เดคเดฟเดจเดพเตฝ เด’เดฐเต เดคเต€เดฏเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดคเดฐเด‚ เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต เดธเต‚เดšเดฟเด•เดฏเตเดŸเต† เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตฝ เด•เตเดฑเดฏเตเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดถเตเดšเดฐเตเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚:

CREATE INDEX "iIdent-DateLastUpdate"
  ON public."Ident" USING btree
  (("DTLastUpdate"::date));

ERROR:  functions in index expression must be marked IMMUTABLE
********** ะžัˆะธะฑะบะฐ **********
ERROR: functions in index expression must be marked IMMUTABLE
SQL-ัะพัั‚ะพัะฝะธะต: 42P17

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

เด‡เดชเตเดชเต‹เตพ เดชเต‹เดฒเตเด‚ เด‡เดชเตเดชเต‹เตพ เด…เดฒเตเดฒเดพเดคเตเดคเดชเตเดชเต‹เตพ

เดธเดฎเดฏ เดฎเต‡เด–เดฒ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เดจเดฟเดฒเดตเดฟเดฒเต† เดคเต€เดฏเดคเดฟ/เดธเดฎเดฏเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเดคเต เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ () เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด•:

START TRANSACTION;
SELECT now();

            now
  timestamp with time zone
-----------------------------
2019-11-26 13:13:04.271419+03

...

SELECT now();

            now
  timestamp with time zone
-----------------------------
2019-11-26 13:13:04.271419+03

...

SELECT now();

            now
  timestamp with time zone
-----------------------------
2019-11-26 13:13:04.271419+03

COMMIT;

เดฎเตเดฎเตเดชเดคเตเดคเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด•เตเด•เต เดถเต‡เดทเด‚ เดŽเดคเตเดฐ เดธเดฎเดฏเด‚ เด•เดดเดฟเดžเตเดžเดพเดฒเตเด‚ เดคเต€เดฏเดคเดฟ/เดธเดฎเดฏเด‚ เด…เดคเต‡เดชเดŸเดฟ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด‚! เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚? เด‡เดชเตเดชเต‹เตพ () เดŽเดจเตเดจเดคเต เดจเดฟเดฒเดตเดฟเดฒเต† เดธเดฎเดฏเดฎเดฒเตเดฒ, เดจเดฟเดฒเดตเดฟเดฒเต† เด‡เดŸเดชเดพเดŸเดฟเดจเตเดฑเต† เด†เดฐเด‚เดญ เดธเดฎเดฏเดฎเดพเดฃเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. เด…เดคเดฟเดจเดพเตฝ, เด‡เดŸเดชเดพเดŸเดฟเดจเตเดณเตเดณเดฟเตฝ เด‡เดคเต เดฎเดพเดฑเดฟเดฒเตเดฒ. เด’เดฐเต เด‡เดŸเดชเดพเดŸเดฟเดจเตเดฑเต† เดชเดฐเดฟเดงเดฟเด•เตเด•เต เดชเตเดฑเดคเตเดคเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ เดเดคเตŠเดฐเต เด…เดจเตเดตเต‡เดทเดฃเดตเตเด‚ เด’เดฐเต เด‡เดŸเดชเดพเดŸเดฟเตฝ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏเดฟ เดชเตŠเดคเดฟเดžเตเดžเดคเดพเดฃเต, เด…เดคเดฟเดจเดพเดฒเดพเดฃเต เดธเดฎเดฏเด‚ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ SELECT () เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเดคเต เดžเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดคเตเดคเดคเต; เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเดฒเตเดฒ... เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏ เดจเดฟเดฒเดตเดฟเดฒเต† เดธเดฎเดฏเด‚ เดฒเดญเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ clock_timestamp() เดซเด‚เด—เตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เด…เดžเตเดšเต. เดฌเดฟเดฑเตเดฑเต

เด…เตฝเดชเตเดชเด‚ เดตเดฟเดšเดฟเดคเตเดฐเด‚

SELECT '111'::bit(4)

 bit
bit(4)
------
1110

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

เดซเดฏเตฝ เดจเดฎเตเดชเตผ เด†เดฑเต. เด…เดฃเดฟเด•เตพ

NULL เดชเต‹เดฒเตเด‚ เดตเต†เดŸเดฟเดตเต†เดšเตเดšเดฟเดฒเตเดฒ

SELECT ARRAY[1, 2] || NULL

?column?
integer[]
---------
{1,2}

SQL-เตฝ เดตเดณเตผเดจเตเดจ เดธเดพเดงเดพเดฐเดฃ เด†เดณเตเด•เตพ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดˆ เดชเดฆเดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เดซเดฒเด‚ NULL เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เด…เดคเต เด…เดตเดฟเดŸเต† เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เด’เดฐเต เด…เดฑเต‡ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฟ. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต? เด•เดพเดฐเดฃเด‚ เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจเด‚ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เด…เดฑเต‡เดฏเดฟเดฒเต‡เด•เตเด•เต NULL เด•เดพเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ array_cat เดซเด‚เด—เตโ€Œเดทเดจเต† เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏเดฟ เดตเดฟเดณเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดˆ "เด…เดฑเต‡ เด•เตเดฏเดพเดฑเตเดฑเต" เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดฑเต‡ เดชเตเดจเดƒเดธเดœเตเดœเดฎเดพเด•เตเด•เดพเดคเตเดคเดคเต เดŽเดจเตเดจเดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ. เดˆ เดธเตเดตเดญเดพเดตเดตเตเด‚ เด“เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

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

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

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