LoginSignup
8
10

More than 5 years have passed since last update.

postgresqlで、小数->整数のキャスト

Posted at
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にすると、切り捨てられた。
8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10