select version(); -- "PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18), 64-bit"
select '10.5'::integer; -- error
select '10.5'::numeric::integer; -- 11
select '10.4'::numeric::integer; -- 10
select '10.5'::double precision::integer; -- 10
select '10.4'::double precision::integer; -- 10
select 10.5::integer; -- 11
select 10.4::integer; -- 10
select 10.5::double precision::integer; -- 10
select 10.4::double precision::integer; -- 10
select cast(10.5 as integer); -- 11
select cast(10.4 as integer); -- 10
select cast(10.5::double precision as integer); -- 10
select cast(10.4::double precision as integer); -- 10
- 文字列 -> integerだと、errorになった。
- numeric -> integerだと、四捨五入された。
- 単に10.5とか書いてintegerにすると、numeric -> integer扱いで、四捨五入された。
- double precision -> integerにすると、切り捨てられた。