October 26, 2011

QUOTENAME in SQL Server

It returns string with added delimiters to make the input string as a valid SQL Server delimited string.
You can see a simple example below

image

In Dynamic SQL Statement it can be used to make query more safe and readable.
Let’s try to create an example here.

T-SQL

DECLARE @TableName NVARCHAR(100)
DECLARE @ColName NVARCHAR(100)
DECLARE @InputVal NVARCHAR(100)
DECLARE @SQL NVARCHAR(MAX)     
SET @TableName = 'TableA'
SET @ColName = 'Val'
SET @InputVal = 'AA'
SET @SQL = 'SELECT '+@ColName+' FROM '+@TableName +
		   ' WHERE Val = '+QUOTENAME(@InputVal,'''')   
PRINT @SQL   
EXEC(@SQL)

Output of PRINT statement will be

image
It is looking like a valid SQL Statement.

That’s It.
Enjoy Learning.

No comments:

Post a Comment