Konstanten (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Eine Konstante, gelegentlich auch als Literal- oder Skalarwert bezeichnet, ist ein Symbol, das einen bestimmten Datenwert repräsentiert. Das Format einer Konstante ist abhängig vom Datentyp des Werts, den sie repräsentiert.

Hinweis

Die Begriffskonstante in der Anwendungsentwicklung und das Konzept einer Konstante in Transact-SQL (T-SQL) sind nicht identisch. Es gibt keine spezifische Möglichkeit, einen globalen statischen Wert in T-SQL festzulegen. Konstanten in T-SQL entsprechen den Zeichenfolgenliteralwerten.

Zeichenfolgenkonstanten

Zeichenfolgenkonstanten werden in einfache Anführungszeichen eingeschlossen und enthalten alphanumerische Zeichen (a-z, A-Z und 0-9) sowie Sonderzeichen, wie z. B. Ausrufezeichen (!), At-Zeichen (@) und Gatterzeichen (#). Zeichenfolgenkonstanten wird die Standardsortierung der aktuellen Datenbank zugewiesen. Wenn die COLLATE-Klausel verwendet wird, erfolgt die Konvertierung in die Standardcodepage der Datenbank trotzdem noch vor der Konvertierung in die durch die COLLATE-Klausel angegebene Sortierung. Vom Benutzer eingegebene Zeichenfolgen werden durch die Codepage auf dem Computer ausgewertet und ggf. in die Standardcodepage der Datenbank übersetzt.

Hinweis

Wenn mithilfe der COLLATE-Klausel eine UTF8-fähige Sortierung angegeben wird, erfolgt die Konvertierung in die Standardcodepage der Datenbank trotzdem noch vor der Konvertierung in die von der COLLATE-Klausel angegebene Sortierung. Die Konvertierung erfolgt nicht direkt mit der angegebenen Unicode-fähigen Sortierung. Weitere Informationen finden Sie unter Unicode-Zeichenfolgen.

Wurde für die QUOTED_IDENTIFIER-Option für eine Verbindung OFF festgelegt, können Zeichenfolgen auch in doppelte Anführungszeichen eingeschlossen werden; der Microsoft OLE DB-Treiber für SQL Server und der ODBC-Treiber für SQL Server verwenden jedoch automatisch SET QUOTED_IDENTIFIER ON. Es wird die Verwendung einfacher Anführungszeichen empfohlen.

Enthält eine in einfache Anführungszeichen eingeschlossene Zeichenfolge ein eingeschlossenes Anführungszeichen, muss das eingeschlossene Anführungszeichen durch zwei einfache Anführungszeichen ersetzt werden. Bei Zeichenfolgen, die in doppelte Anführungszeichen eingeschlossen sind, ist dies nicht erforderlich.

Nachfolgend finden Sie Beispiele für Zeichenfolgen:

'Cincinnati'
'O''Brien'
'Process X is 50% complete.'
'The level for job_id: %d should be between %d and %d.'
"O'Brien"

Leere Zeichenfolgen werden als zwei einzelne Anführungszeichen ohne Inhalt dargestellt. Im 6.x-Kompatibilitätsmodus wird eine leere Zeichenfolge als einzelnes Leerzeichen interpretiert.

Zeichenfolgenkonstanten unterstützen erweiterte Sortierungen.

Hinweis

Zeichenkonstanten, die größer sind als 8000 Bytes, werden als varchar(max)- Daten typisiert.

Unicode-Zeichenfolgen

Unicode-Zeichenfolgen besitzen ein ähnliches Format wie Zeichenfolgen, ihnen wird aber ein N-Bezeichner als Präfix vorangestellt (N steht für Landessprache (National Language) im SQL-92-Standard).

Wichtig

Das Präfix N muss ein Großbuchstabe sein.

Beispielsweise ist 'Michél' eine Zeichenkonstante, während N'Michél' eine Unicode-Konstante ist. Unicode-Konstanten werden als Unicode-Daten interpretiert und nicht mithilfe einer Codepage ausgewertet. Unicode-Konstanten verfügen über eine Sortierung. Diese Sortierung steuert in erster Linie Vergleiche und die Unterscheidung nach Groß- und Kleinschreibung. Unicode-Konstanten wird die Standardsortierung der aktuellen Datenbank zugewiesen. Wenn die COLLATE-Klausel verwendet wird, erfolgt die Konvertierung in die Standardsortierung der Datenbank trotzdem noch vor der Konvertierung in die durch die COLLATE-Klausel angegebene Sortierung. Weitere Informationen finden Sie unter Collation and Unicode Support.

Unicode-Zeichenfolgenkonstanten unterstützen erweiterte Sortierungen.

Hinweis

Unicode-Konstanten, die größer sind als 8000 Bytes, werden als nvarchar(max)-Daten typisiert.

Binäre Konstanten

Binäre Konstanten besitzen das Präfix 0x und bestehen aus einer Zeichenfolge von hexadezimalen Zahlen. Sie werden nicht in Anführungszeichen eingeschlossen.

Nachfolgend finden Sie Beispiele für Binärzeichenfolgen:

0xAE
0x12Ef
0x69048AEFDD010E
0x  (empty binary string)

Hinweis

Binärkonstanten, die größer sind als 8000 Bytes, werden als varbinary(max)-Daten typisiert.

bit-Konstanten

bit-Konstanten werden durch die Zahlen 0 oder 1 dargestellt und nicht in Anführungszeichen eingeschlossen. Wird eine größere Zahl als 1 verwendet, wird diese in 1 konvertiert.

datetime-Konstanten

datetime-Konstanten werden durch Datumszeichenfolgen in einem besonderen Format dargestellt und in einfache Anführungszeichen eingeschlossen.

Nachfolgend finden Sie Beispiele für datetime-Konstanten:

'December 5, 1985'
'5 December, 1985'
'851205'
'12/5/98'

Beispiele für datetime-Konstanten sind:

'14:30:24'
'04:24 PM'

integer-Konstanten

integer-Konstanten werden durch eine Zeichenfolge von Zahlen dargestellt, die nicht in Anführungszeichen eingeschlossen sind und keine Dezimaltrennzeichen enthalten. integer-Konstanten müssen ganze Zahlen sein und dürfen keine Dezimalstellen enthalten.

Nachfolgend finden Sie Beispiele für integer-Konstanten:

1894
2

decimal-Konstanten

decimal-Konstanten werden durch eine Folge von Ziffern dargestellt, die nicht in Anführungszeichen eingeschlossen sind, und enthalten ein Dezimaltrennzeichen.

Nachfolgend finden Sie Beispiele für decimal-Konstanten:

1894.1204
2.0

float- und real-Konstanten

Für float- und real-Konstanten wird die wissenschaftliche Schreibweise verwendet.

Nachfolgend finden Sie Beispiele für float- oder real-Konstanten:

101.5E5
0.5E-2

money-Konstanten

money-Konstanten werden als Zeichenfolge von Zahlen mit einem optionalen Dezimaltrennzeichen und einem optionalen Währungssymbol als Präfix dargestellt. money-Konstanten werden nicht in Anführungszeichen eingeschlossen.

SQL Server erzwingt keine Gruppierungsregeln, etwa das Einfügen eines Kommas (,) nach jeder dritten Ziffer in Währungszeichenfolgen.

Hinweis

Kommas werden in einem Zeichenfolgenliteral immer ignoriert, das in den money-Datentyp umgewandelt wird.

Nachfolgend finden Sie Beispiele für money-Konstanten:

$12
$542023.14
$-23

uniqueidentifier-Konstanten

uniqueidentifier-Konstanten sind eine Zeichenfolge, die eine GUID darstellt. Sie können entweder im Binär- oder Zeichenfolgenformat angegeben werden.

In den beiden folgenden Beispielen wird dieselbe GUID angegeben:

'6F9619FF-8B86-D011-B42D-00C04FC964FF'
0xff19966f868b11d0b42d00c04fc964ff

Angeben von negativen und positiven Zahlen

Um anzugeben, ob eine Zahl positiv oder negativ ist, wenden Sie einen der unären Operatoren + oder - auf eine numerische Konstante an. Dadurch wird ein numerischer Ausdruck erstellt, der den numerischen, vorzeichenbehafteten Wert darstellt. Numerische Konstanten werden auf einen positiven Wert gesetzt, wenn die unären Operatoren + oder - nicht angewendet werden.

integer-Ausdrücke mit Vorzeichen:

+145345234
-2147483648

decimal-Ausdrücke mit Vorzeichen:

+145345234.2234
-2147483648.10

float-Ausdrücke mit Vorzeichen:

+123E-3
-12E5

money-Ausdrücke mit Vorzeichen:

-$45.56
+$423456.99

Erweiterte Sortierungen

Datenbank-Engine unterstützt Zeichen- und Unicode-Zeichenfolgenkonstanten, die erweiterte Sortierungen unterstützen. Weitere Informationen finden Sie in der Klausel COLLATE (Transact-SQL).