Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Bedeutung der eckigen Klammern [] im MS-SQL-Tabellen-Designer?

Die eckigen Klammern [] werden verwendet, um Identifikatoren abzugrenzen. Dies ist notwendig, wenn der Spaltenname ein reserviertes Schlüsselwort ist oder Sonderzeichen wie Leerzeichen oder Bindestrich enthält.

Einige Benutzer verwenden auch gerne eckige Klammern, auch wenn sie nicht notwendig sind.

Von MSDN:

Begrenzte Kennungen

Sind in doppelte Anführungszeichen (") oder eckige Klammern ([ ]) eingeschlossen. Bezeichner, die den Regeln für das Format von Bezeichnern entsprechen, können getrennt werden oder nicht.

SELECT *
FROM [TableX]         --Delimiter is optional.
WHERE [KeyCol] = 124  --Delimiter is optional.

Bezeichner, die nicht allen Regeln für Bezeichner entsprechen, müssen in einer Transact-SQL-Anweisung abgegrenzt werden.

SELECT *
FROM [My Table]      --Identifier contains a space and uses a reserved keyword.
WHERE [order] = 10   --Identifier is a reserved keyword.