Microsoft SQL Server

Delimiting special characters and reserved words

Remarks#

Generally speaking, it is best not to use T-SQL Reserved Words as table names, column names, programming object names, alias etc. So the method to escape these keywords should only be applied if you are inheriting a database design that cannot be changed.

For reserved words, usage of the square brackets is not mandatory. When using a tool such as SQL Server Management Studio, the reserved words will be highlighted to bring attention to the fact that they are reserved.

Basic Method

The basic method to escape reserved words for SQL Server is the use of the square brackets ([ and ]). For example, Description and Name are reserved words; however, if there is an object using both as names, the syntax used is:

SELECT [Description]
FROM   dbo.TableName
WHERE  [Name] = 'foo'

The only special character for SQL Server is the single quote ' and it is escaped by doubling its usage. For example, to find the name O’Shea in the same table, the following syntax would be used:

SELECT [Description]
FROM   dbo.TableName
WHERE  [Name] = 'O''Shea'

This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow