2017-06-26 3 views
1

Kürzlich arbeite ich mit SQL-Sprache. Ich habe zwei Möglichkeiten gefunden, temporary table variables(starting with @) zu deklarieren. Meine Frage ist:SQL [int] versus int

Gibt es einen Unterschied zwischen ihnen?

DECLARE 
    @variable1 [int], 
    @variable2 int 
+0

Dies hat nichts mit Tabellen zu sehen. Beide Deklarationen bedeuten dasselbe. – McNets

+0

nein, es gibt keinen Unterschied siehe hier: https://stackoverflow.com/questions/52898/what-is-the-use-of-the-square-brackets-in-sql-statements –

+2

Mögliche Duplikate von [Was ist die Verwendung der eckigen Klammern \ [\] in SQL-Anweisungen?] (Https://stackoverflow.com/questions/52898/what-is-the-use-of-the-square-brackets-in-sql -Statements) –

Antwort

1

In diesem Fall gibt es keinen Unterschied. Die eckigen Klammern werden jedoch als Trennzeichen verwendet, wenn Sie have special characters that need identifying - zum Beispiel, wenn Sie eine Spalte "Vorname" nennen, benötigen Sie eckige Klammern, um das Leerzeichen zu entkommen.

+0

Danke. Das war hilfreich! –

+0

Das Hinzufügen von Klammern kann in einigen Fällen zu einem Problem führen. DECLARE @a double precision;/* valid */'DECLARE @b [doppelte Genauigkeit];/* ungültig */' – J45

0

Nein, das sind die gleichen. Die Eingabe mit den Klammern ist nur zusätzliche Tastenanschläge.

Verwandte Themen