Skip to main content

CONCAT FUNCTION IN SQL SERVER 2012

Concat function is used concatnating the values among the different arguments.

Syntax:
Concat([String1],[String2]..[StringN]); 

DECLARE @FName VARCHAR(50),@LName VARCHAR(50);
SET @FName='Rakesh' ;
SET @LName='Kalluri';
SELECT CONCAT(@FName,' ', @LName) as [FullName];
Output: Rakesh Kalluri

--Before SQL 2012 Versions we can use like this way
DECLARE @FName VARCHAR(50),@LName VARCHAR(50);
SET @FName='Rakesh' ;
SET @LName='Kalluri';
SELECT @FName+' '+@LName as [FullName];
Output: Rakesh Kalluri

--But Before SQL 2012 Versions there are 2 problems when we contacting.
--1.Need to replace NULL Value to Empty.if we directly concat NULL Value the Entire result also NULL.

--Before 2012:
DECLARE @FName VARCHAR(50),@LName VARCHAR(50);
SET @FName='Rakesh' ;
SELECT @FName+' '+@LName as [FullName];
Output: NULL

--From 2012 (Null values are implicitly converted to empty)
DECLARE @FName VARCHAR(50),@LName VARCHAR(50);
SET @FName='Rakesh' ;
SELECT CONCAT(@FName,' ', @LName) as [FullName];
Output: Rakesh

--2.Need to Convert String Datatype

--Before 2012:
DECLARE @FName VARCHAR(50),@Id INT;
SET @FName='Rakesh' ;
SET @Id=1
SELECT @FName+' '+@Id as [Details];
Msg 245, Level 16, State 1, Line 5
Conversion failed when converting the varchar value 'Rakesh ' to data type int.

--Problem Solving Before 2012 Versions
SELECT @FName+' '+CAST(@Id AS VARCHAR(50)) as [Details];
Output: Rakesh 1

--From 2012
DECLARE @FName VARCHAR(50),@Id INT;
SET @FName='Rakesh' ;
SET @Id=1
SELECT CONCAT(@FName,' ', @Id) as [Details];
Output: Rakesh 1


Comments

Popular posts from this blog

Rank Functions in SQL SERVER

1 . ROW_NUMBER () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns the sequantial number of a row within the a partition of result set at 1 for the first row of the each partition. 2. RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set. 3. DENSE_RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set.With out any gaps in the ranking. 4. NTILE ( INTEGER_EXPRESSION ) OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Distributes the rows in an ordered partition into a specified number of groups. Examples: --create Employee table create table Employee (                 EmpId int identity ( 1 , 1 ) primary key ,              ...

Difference between LEN and DATALENGTH

LEN: LEN function returns the number of characters in a variable .it also removes the trailing spaces and then then return the length. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT LEN ( @Name ) as [len] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= 'rakesh ' SELECT LEN ( @Name ) as [len] Output: When we observe above variable assigned 'rakesh ' string after that added 3 spaces . Len function removes trailing spaces not leading spaces. DATALENGTH : DATALENG function returns the number of bytes occupy in a variable .it also considered the spaces also. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT DATALENGTH ( @Name ) as [DataLength] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= ' rakesh ' SELECT DATALENGTH ( @Name ) as [DataLength] Output: In above example before ' r ' and after ...