Overflow Errors on Converting Big Values to Integers in SQL Server

Q

What Happens When Converting Big Values to Integers in SQL Server Transact-SQL?

✍: FYIcenter.com

A

If you are converting a numeric expression to an integer data type and the value is too big for integer storage size, you will get an arithmetic overflow error as shown in the following examples:

-- Overflow error on implicit conversion
DECLARE @x FLOAT(24);
DECLARE @y TINYINT;
SET @x = 12345.12E+00;
SET @y = @x;
GO
Msg 232, Level 16, State 1, Line 4
Arithmetic overflow error for type tinyint, 
   value = 12345.120117.

-- Overflow error on explicit conversions
DECLARE @x FLOAT(24);
SET @x = 12345.12E+00;
SELECT CAST(@x AS TINYINT);
SELECT CONVERT(TINYINT, @x);
GO
Msg 232, Level 16, State 1, Line 4
Arithmetic overflow error for type tinyint, 
   value = 12345.120117.
Msg 232, Level 16, State 1, Line 5
Arithmetic overflow error for type tinyint, 
   value = 12345.120117.

 

Numeric Expressions and Functions in SQL Server Transact-SQL

⇒⇒SQL Server Transact-SQL Tutorials

2017-03-22, 204👍, 0💬