Skip to main content

Variables in T-SQL

Variables can be used to store the data in temporally based on data type.
Variable name begin with @ symbol.
There are two types of variables in T-SQL.
1. Local Variables (It must begin @ symbol).
2. Global Variables (it must begin @@ symbol) this variables also known as system variables.

Syntax Declare a Variable
DECLARE @Variable-Name DATATYPE

EXAMPLE:

DECLARE @Name VARCHAR(100)
In before 2008 versions of SQL SERVER we declare a variable and assign a value in 2 lines.
               
DECLARE @Name VARCHAR(100)
SET @Name='LeadFirstSQL'

In 2008 and Later versions of SQL SERVER we declare a variable and assign a value in single line.
DECLARE @Name VARCHAR(100) ='LeadFirstSQL'

Variables must be declare and used with the same batch.
DECLARE @Name VARCHAR(100) ='LeadFirstSQL'
SELECT @Name AS Nam
GO
SELECT @Name AS Name

If we are trying to execute above statement we get the error. Because of before the GO all the Queries are treated as single batch after the GO it treated as different batch.
Msg 137, Level 15, State 2, Line 1
Must declare the scalar variable "@Name".

We can also use variables as Table Valued Parameters.





  

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 ...