αž”αŸ’αžšαž—αŸαž‘αž‚αž½αžšαž±αŸ’αž™αžŸαž„αŸ’αžŸαŸαž™

αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž‚αž½αžšαž±αŸ’αž™αžŸαž„αŸ’αžŸαŸαž™αž’αŸ†αž–αžΈαžšαžΌαž”αžšαžΆαž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‘αŸαŸ” αž›αžΎαžŸβ€‹αž–αžΈβ€‹αž“αŸαŸ‡β€‹αž‘αŸ…β€‹αž‘αŸ€αž αž–αž½αž€β€‹αž‚αŸβ€‹αž αžΆαž€αŸ‹β€‹αžŠαžΌαž…β€‹αž‡αžΆβ€‹αžŸαŸ’αž‚αžΆαž›αŸ‹β€‹αž’αŸ’αž“αž€β€‹αž…αŸ’αž”αžΆαžŸαŸ‹β€‹αž αžΎαž™β€‹αž‡αžΆβ€‹αž™αžΌαžšβ€‹αž˜αž€β€‹αž αžΎαž™αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž‘αžΆαž›αŸ‹αžαŸ‚β€‹αž’αŸ’αž“αž€β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αžΎαž›αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž’αž˜αŸ’αž˜αž‡αžΆαžαž·αžŠαŸαž’αžΆαž€αŸ’αžšαž€αŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŠαŸ„αž™αž’αŸ’αžœαžΎαž€αžΆαžšαžαž»αžŸαž–αžΈαž’αŸ’αž“αž€αžšαŸ†αž–αžΉαž„αž‘αž»αž€αŸ” αž αžΎαž™αž–αŸαž›αžαŸ’αž›αŸ‡αž–αž½αž€αž‚αŸαž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžˆαžšαž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹ - αž§αž‘αžΆαž αžšαžŽαŸαž–αž½αž€αž‚αŸαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž”αŸ’αžšαž‚αž›αŸ‹αž±αŸ’αž™αž–αž½αž€αž‚αŸαŸ” αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αŸ’αžšαžˆαž˜αž˜αž»αžαž“αžΉαž„αž–αž½αž€αž‚αŸ αž–αž½αž€αž‚αŸαž’αŸ‡αž’αžΆαž„αžαžΆαž–αž½αž€αž‚αŸαž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αž‚αŸ’αž“αžΆ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž˜αŸ„αž›αž–αž½αž€αž‚αŸαž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αž›αŸ†αž”αžΆαž€αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž€αŸ’αžšαžŽαžΆαžαŸ‹αžαŸ‚αž˜αž½αž™αž€αŸαžŠαŸ„αž™αŸ” αžœαžΆαžŠαž›αŸ‹αž–αŸαž›αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž“αžΆαŸ†αž–αž½αž€αž‚αŸαž‘αŸ…αž‘αžΉαž€αžŸαŸ’αž’αžΆαžαŸ” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž—αŸαž‘αž‚αž½αžšαž±αŸ’αž™αžŸαž„αŸ’αžŸαŸαž™αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ”

αž€αžΆαžšαžœαžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ 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/αž’αžαŸ’αžαž”αž‘

αž—αžΆαž–αž…αž˜αŸ’αž›αŸ‚αž€αž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αŸαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž—αŸαž‘αžαž½αž’αž€αŸ’αžŸαžšαž•αž„αžŠαŸ‚αžšαŸ” αž…αžΌαžšαž™αžΎαž„αžŸαŸ’αž‚αžΆαž›αŸ‹αž–αž½αž€αž‚αŸαž•αž„αžŠαŸ‚αžšαŸ”

αžαžΎαž›αŸ’αž”αž·αž…αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈ?

SELECT 'ΠŸΠ•Π’Π―'::"char"
     , 'ΠŸΠ•Π’Π―'::"char"::bytea
     , 'ΠŸΠ•Π’Π―'::char
     , 'ΠŸΠ•Π’Π―'::char::bytea

 char  | bytea |    bpchar    | bytea
"char" | bytea | character(1) | bytea
-------+-------+--------------+--------
 ╨     | xd0  | П            | xd09f

αžαžΎβ€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹Β«β€‹αžαž½β€‹Β»β€‹αž’αŸ’αžœαžΈβ€‹? αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆαž‘αŸ... αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž’αŸ’αžœαžΎαž–αž»αžαž‡αžΆ char αž’αž˜αŸ’αž˜αžαžΆ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž˜αŸ’αžšαž„αŸ‹αž€αŸαžŠαŸ„αž™αŸ” αž αžΎαž™αžœαžΆαžαž»αžŸαž‚αŸ’αž“αžΆαž–αžΈ char αž’αž˜αŸ’αž˜αžαžΆ αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αžšαž„αŸ‹ αžŠαŸ„αž™αžœαžΆαž…αŸαž‰αžαŸ‚αž”αŸƒαž‘αžΈαž˜αž½αž™αž“αŸƒαž€αžΆαžšαžαŸ†αžŽαžΆαž„αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš αžαžŽαŸˆαžŠαŸ‚αž› char αž’αž˜αŸ’αž˜αžαžΆαž…αŸαž‰αžαž½αž’αž€αŸ’αžŸαžšαž‘αžΈαž˜αž½αž™αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αžαž½αž’αž€αŸ’αžŸαžšαž‘αžΈαž˜αž½αž™αž‚αžΊαž’αž€αŸ’αžŸαžš 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

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž›αž‘αŸ’αž’αž•αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ…αž‡αžΆαž”αŸ’αžšαž—αŸαž‘ bytea αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αžαžΎβ€‹αž…αž“αŸ’αž›αŸ„αŸ‡β€‹αž“αŸ…β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž…αžΆαž€αŸ‹β€‹αž‘αŸ… varchar(6) αž“αŸ…β€‹αž―αžŽαžΆ? αž―αž€αžŸαžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αž›αžΈαžαžΆαŸ– "αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž…αŸ„αž‰αžαž˜αŸ’αž›αŸƒαžαž½αž’αž€αŸ’αžŸαžšαž‘αŸ…αž”αŸ’αžšαž—αŸαž‘αžαž½αž’αž€αŸ’αžŸαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž…αž“αŸ’αž›αŸ„αŸ‡αž”αŸ’αžšαž αŸ„αž„αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αž…αŸ„αž›αŸ”" αž€αžΆαžšαž˜αž·αž“αž…αžΌαž›αž…αž·αžαŸ’αžαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαžαŸ‚αž…αž„αž…αžΆαŸ†αŸ” αž αžΎαž™β€‹αž…αŸ†αžŽαžΆαŸ†β€‹αžαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αžαŸαžšβ€‹αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αžŠαž€αžŸαŸ’αžšαž„αŸ‹β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ„αŸ‡β€‹αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αž‘αŸ…β€‹αž”αŸ’αžšαž—αŸαž‘ varchar(6) αž“αŸ„αŸ‡β€‹αž…αž“αŸ’αž›αŸ„αŸ‡β€‹αž“αŸ…β€‹αž–αžΈαž€αŸ’αžšαŸ„αž™β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€αŸ” αž’αž–αŸ’αž—αžΌαžαž αŸαžαž»αž”αŸ‚αž”αž“αŸαŸ‡αŸ”

αž―αž€αžŸαžΆαžšαž›αŸαžαž”αžΈαŸ” json/jsonb

JSON αž‚αžΊαž‡αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŠαŸ‚αž›αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžœαžΆαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αž„αŸ’αž‚αž—αžΆαž–αžšαž”αžŸαŸ‹αžœαžΆ αž“αž·αž„ PostgreSQL αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαž”αž“αŸ’αžαž·αž…αž”αž“αŸ’αžαž½αž…αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαŸ”

αž…αž“αžŸαž»αž“αž“αž·αž„αž…αž“αžŸαž»αž“αŸ” αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαž»αžŸαž‚αŸ’αž“αžΆ

SELECT 'null'::jsonb IS NULL

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

αžšαžΏαž„αž“αŸαŸ‡αž‚αžΊαžαžΆ JSON αž˜αžΆαž“αž’αž„αŸ’αž‚αž’αžΆαžαž»αž‘αž‘αŸαžšαž”αžŸαŸ‹αžœαžΆ αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ analogue αž“αŸƒ NULL αž“αŸ…αž€αŸ’αž“αž»αž„ PostgreSQL αž“αŸ„αŸ‡αž‘αŸαŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αžœαžαŸ’αžαž» 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 αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž²αŸ’αž™αž“αžΆαž„αž˜αžΆαž“αž€αžΆαžšαž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ” αž“αž·αž™αžΆαž™αž‡αžΆαž‘αžΌαž‘αŸ… αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž‡αžΌαž“αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™αž™αŸ‰αžΆαž„αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αžαžΆαžαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžΆαž“αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž–αž½αž€αžœαžΆαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ‰αž»αžŽαŸ’αžŽαžΆ (αž‡αžΆαž–αž·αžŸαŸαžŸ αžœαž·αž—αžΆαž‚αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš datestyle αž‡αžΆαž˜αž½αž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ SHOW datestyle) αž–αŸ’αžšαŸ„αŸ‡αž—αžΆαž–αž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž’αžΆαž…αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžαŸ’αž›αŸƒαžŽαžΆαžŸαŸ‹αŸ”

αžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αžœαžΆαž˜αž€αž–αžΈαžŽαžΆ?

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

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž·αž“αž’αžΆαž…αž™αž›αŸ‹αž–αžΈαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹? αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆαž˜αž·αž“αž˜αžΆαž“αž’αž€αŸ’αžŸαžšαž€αžΆαžαŸ‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž–αŸαž‰ αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž‚αž·αžαž‚αžΌαžšαž–αžΈαž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆ αž αžΎαž™αžœαžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž“αŸ„αŸ‡αž‘αŸαŸ” αž αžΎαž™β€‹αž–αžΆαž€αŸ’αž™β€‹αž“αŸƒβ€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αž–αŸαž›αžœαŸαž›αžΆβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‡αžΆβ€‹αžŸαŸ†αžŽαž½αžšβ€‹αžαžΆ αžαžΎβ€‹αž’αŸ’αž“αž€β€‹αžŸαžšαžŸαŸαžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž–αž·αžαž‡αžΆβ€‹αž˜αžΆαž“αž“αŸαž™β€‹αžŠαžΌαž…αž˜αŸ’αžαŸαž…β€‹? αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‘αžΌαž‡αžΈαžαž›αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžœαžΆαŸ”

αžαžΎαž‚αžΆαžαŸ‹αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈ?

αžŸαŸ’αžšαž˜αŸƒαž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αŸ” αž’αŸ’αž“αž€β€‹αž˜αžΆαž“β€‹αžœαžΆαž›β€‹αž˜αž½αž™β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αžαžΆαžšαžΆαž„β€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžœαžΆαž™β€‹αž”αž‰αŸ’αž…αžΌαž› timestamptz αŸ” αž’αŸ’αž“αž€αž…αž„αŸ‹αžŠαžΆαž€αŸ‹αž›αž·αž”αž·αž€αŸ’αžšαž˜αžœαžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž™αž›αŸ‹αžαžΆαž€αžΆαžšαž€αžŸαžΆαž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αž“αŸ…αž›αžΎαžœαžΆαž›αž“αŸαŸ‡αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αž–αžŸαŸ‹αžšαž”αžŸαŸ‹αžœαžΆ (αžαž˜αŸ’αž›αŸƒαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž”αŸ’αžšαž—αŸαž‘αž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹)αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αž“αž€β€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αž…αž·αžαŸ’αžβ€‹αž€αžΆαžαŸ‹β€‹αž”αž“αŸ’αžαž™β€‹αž‡αž˜αŸ’αžšαžΎαžŸβ€‹αž“αŸƒβ€‹αž›αž·αž”αž·αž€αŸ’αžšαž˜β€‹αžŠαŸ„αž™β€‹αž”αŸ„αŸ‡β€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž‘αŸ…β€‹αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αŸ” αž αžΎαž™αž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›αž˜αž½αž™:

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

αžαžΎβ€‹αž˜αžΆαž“β€‹αžšαžΏαž„β€‹αž’αŸ’αžœαžΈβ€‹αž€αžΎαžαž‘αžΎαž„? αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆ αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ„αŸ‡αžαŸ’αžšαžΆαž”αŸ’αžšαž—αŸαž‘ timestamptz αž‘αŸ…αž”αŸ’αžšαž—αŸαž‘αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘ αžαž˜αŸ’αž›αŸƒαž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’ TimeZone αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αž»αžαž„αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž”αŸ’αžšαž—αŸαž‘αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž–αŸ„αž›αž‚αžΊαž§αŸ” αž„αžΆαž™αž“αžΉαž„αž”αž„αŸ’αž€αž‡αžΆαž αŸαžαž»αŸ” αž˜αž»αžαž„αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž“αŸ…αž€αŸ’αž“αž»αž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αž‘αŸαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž αžΆαž‰αž±αŸ’αž™αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆαžŽαžΆαžŠαŸ‚αž›αž€αžΆαžšαžαžΆαžŸαž”αŸ’αžšαž—αŸαž‘αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ”

αž–αŸαž›β€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αžŸαžΌαž˜αŸ’αž”αžΈβ€‹αžαŸ‚β€‹αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹

αž™αžΎαž„αž’αŸ’αž›αžΆαž”αŸ‹αž”αŸ’αžšαžΎαž₯αž‘αžΌαžœαž“αŸαŸ‡ () αžαŸ’αžšαž‘αž”αŸ‹αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘/αž–αŸαž›αžœαŸαž›αžΆαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αžŠαŸ„αž™αž‚αž·αžαž–αžΈαžαŸ†αž”αž“αŸ‹αž–αŸαž›αžœαŸαž›αžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαžΌαž˜αž˜αžΎαž›αžŸαŸ†αžŽαž½αžšαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

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

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹