Collections:
CONVERT/CAST Function in SQL Server Transact-SQL
How to convert value from one data type to another in SQL Server Transact-SQL? How to use the CONVERT function or the CAST function?
✍: FYIcenter.com
In Transact-SQL, you can use CONVERT statements to convert values
from one data type to another, in the syntax of:
CONVERT(data_type, value[, style])
In this syntax, "data_type" specifies the data type of the output value, "value" specifies the input value, and "style" specifies the conversion style. If "style" is not provided, the default style will be used.
The CAST function does the same job as the CONVERT function using the default style using a different syntax:
CAST(value AS data_type)
CONVERT and CAST functions are considered as explicit data type conversion, which gives you more power than the implicit conversion in two aspects:
Here are some examples on how to convert values to different data types:
DECLARE @dt DATETIME, @rn NUMERIC(9,2);
-- Implicit conversion from NUMERIC to DATETIME
SET @dt = 0.25;
-- Implicit conversion from DATETIME to CHAR
PRINT @dt;
-------------------
Jan 1 1900 6:00AM
-- Explicit conversion from DATETIME to CHAR with default style
PRINT CAST(@dt AS CHAR);
-------------------
Jan 1 1900 6:00AM
-- Explicit conversion from DATETIME to CHAR with ISO style
PRINT CONVERT(CHAR, @dt, 126);
-------------------
1900-01-01T06:00:00
-- Explicit conversion from DATETIME to NUMERIC
SET @rn = CONVERT(NUMERIC(9,2), @dt);
PRINT @rn;
----
0.25
-- Implicit conversion from DATETIME to NUMERIC, not supported
SET @rn = @dt;
PRINT @rn;
-----------------------------------
Msg 257, Level 16, State 3, Line 21
Implicit conversion from data type datetime to numeric is not allowed.
Use the CONVERT function to run this query.
⇒ Numeric Expressions and Functions in SQL Server Transact-SQL
⇐ PRINT Statements in SQL Server Transact-SQL
2017-04-01, 3073🔥, 0💬
Popular Posts:
How To Format DATETIME Values to Strings with the CONVERT() Function in SQL Server Transact-SQL? SQL...
How To Convert Binary Strings into Hexadecimal Character Strings in SQL Server? When a query returns...
What are single-byte character string data types supported in SQL Server Transact-SQL? Single-byte c...
What Happens If the UPDATE Subquery Returns Multiple Rows in MySQL? If a subquery is used in a UPDAT...
Where to find Oracle database server tutorials? Here is a collection of tutorials, tips and FAQs for...