Converting Numeric Data Types by Assignment Operations in SQL Server

Q

How To Convert Numeric Expression Data Types by Assignment Operations in SQL Server Transact-SQL?

✍: FYIcenter.com

A

An assignment operation is used to assign an expression to a variable, a column, or a parameter. If the data type of the expression does not match the data type of the receiving variable, column, or parameter, SQL Server will perform an implicit data type conversion on the expression.

Note that implicit data type conversion during assignment operation can convert a higher rank data type to a lower rank data type, which may resulting in losing data during the conversion. The tutorial exercise shows you some good examples:

-- INT converted to NUMERIC
DECLARE @i INT;
DECLARE @d NUMERIC(9,3);
SET @i = 123;
SET @d = @i;
SELECT @d;
GO
123.000

-- INT converted to NUMERIC
DECLARE @i INT;
DECLARE @d NUMERIC(9,3);
SET @i = 123;
SET @d = @i;
SELECT @d;
GO
123.000

DECLARE @pi FLOAT(24);
DECLARE @dp NUMERIC(5,2);
SET @pi = 3.1415927E+00;
SET @dp = @pi;
SELECT @dp;
GO
3.14

 

Numeric Expressions and Functions in SQL Server Transact-SQL

⇒⇒SQL Server Transact-SQL Tutorials

2017-03-27, 320👍, 0💬