numeric→integerキャスト時端数扱い

SQL Serverのみ切り捨て

 

(8.0.34)

select cast(1.4 as UNSIGNED );
select convert(1.4 , UNSIGNED );

select cast(1.5 as UNSIGNED );
select convert(1.5 , UNSIGNED );

select cast(2.4 as UNSIGNED );
select convert(2.4 , UNSIGNED );

select cast(2.5 as UNSIGNED );
select convert(2.5 , UNSIGNED );

→ 四捨五入

 

(23c)

select cast(1.4 as number(1) );

select cast(1.5 as number(1) );

select cast(2.4 as number(1) );

select cast(2.5 as number(1) );


→ 四捨五入

 

(16)

select cast(1.4 as integer);
select 1.4::integer;

select cast(1.5 as integer);
select 1.5::integer;

select cast(2.4 as integer);
select 2.4::integer;

select cast(2.5 as integer);
select 2.5::integer;


→ 四捨五入

 

(2022)
https://learn.microsoft.com/ja-jp/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver16#truncating-and-rounding-results

 

select cast(1.4 as integer );
select convert(integer , 1.4);

select cast(1.5 as integer );
select convert(integer , 1.5);

select cast(2.4 as integer );
select convert(integer , 2.4);

select cast(2.5 as integer );
select convert(integer , 2.5);

→ 切り捨て★

 

  • BigQuery

select cast(1.4 as INT64 );

select cast(1.5 as INT64 );

select cast(2.4 as INT64 );

select cast(2.5 as INT64 );

→ 四捨五入