MS SQL Server Concepts and Programming Question:

How To Convert Character Strings into Numeric Values?

Tweet Share WhatsApp

Answer:

Sometimes you need to convert numeric values enclosed in character strings back to numeric values by using the CONVERT() function. When converting character strings to values with CONVERT(), you need to remember two rules:

* Leading and trailing space characters are ignored.
* The input string must represent a numeric literal that matches the target numeric data type.
* If the input string does not represent a numeric literal that matches the target numeric data type, you will get a conversion error.

The tutorial exercise below shows you how to use the CONVERT() function to convert strings to values:

SELECT CONVERT(NUMERIC(10,5), ' 12345.12 ');
GO
12345.12000

-- Input does not match the target data type
SELECT CONVERT(INT, '12345.12');
GO
Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar
value '12345.12' to data type int.

-- Input does not match the target data type
SELECT CONVERT(NUMERIC(10,5), '12345.12E+00');
GO
Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to numeric.

-- Double conversion works
SELECT CONVERT(NUMERIC(10,5),
CONVERT(FLOAT(24), ' 12345.12E+00 '));
GO
12345.12012

SELECT CONVERT(FLOAT(24), ' 12345.12E+00 ');

Download MS SQL Server PDF Read All 394 MS SQL Server Questions
Previous QuestionNext Question
How To How To Convert Numeric Expression Data Types using the CONVERT() Function??What Happens When Converting Big Values to Integers?