Konstanten (Transact-SQL)

Eine Konstante, manchmal 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.

  • 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 (!), @-Zeichen und Nummernzeichen (#). Zeichenfolgenkonstanten wird die Standardsortierung der aktuellen Datenbank zugewiesen, es sei denn, mit der COLLATE-Klausel wird eine Sortierung angegeben. Vom Benutzer eingegebene Zeichenfolgen werden durch die Codepage auf dem Computer ausgewertet und ggf. in die Standardcodepage der Datenbank übersetzt.

    Wurde für die QUOTED_IDENTIFIER-Option für eine Verbindung OFF festgelegt, können Zeichenfolgen auch in doppelte Anführungszeichen eingeschlossen werden; allerdings verwenden der Microsoft SQL Server Native Client-Anbieter und der ODBC-Treiber 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 doppelten Anführungszeichen stehen, 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.

    HinweisHinweis

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

  • Unicode-Zeichenfolgen
    Unicode-Zeichenfolgen besitzen ein ähnliches Format wie Zeichenfolgen, werden aber mit einem N-Bezeichner eingeleitet (N steht für Landessprache (National Language) im SQL-92-Standard). Das Präfix N muss ein Großbuchstabe sein. Beispielsweise ist 'Michél' eine Zeichenkonstante, wohingegen N'Michél' als Unicode-Konstante verstanden wird. 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, es sei denn, mit der COLLATE-Klausel wird eine Sortierung angegeben. Unicode-Daten werden mithilfe von 2 Byte pro Zeichen anstelle von 1 Byte pro Zeichen bei Zeichendaten gespeichert. Weitere Informationen finden Sie unter Verwenden von Unicode-Daten.

    Unicode-Zeichenfolgenkonstanten unterstützen erweiterte Sortierungen.

    HinweisHinweis

    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)
    
    HinweisHinweis

    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 eins verwendet, wird diese in eins umgewandelt.

  • datetime-Konstanten
    datetime-Konstanten werden durch Datumszeichenfolgen in einem besonderen Format dargestellt und in einfache Anführungszeichen eingeschlossen. Weitere Informationen zu den Formaten für datetime-Konstanten finden Sie unter Verwenden von Datums- und Zeitdaten.

    Nachfolgend finden Sie Beispiele für datetime-Konstanten:

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

    Beispiele für Zeitkonstanten sind:

    '14:30:24'
    '04:24 PM'
    
  • integer-Konstanten
    integer-Konstanten werden durch eine Folge von Ziffern dargestellt, die nicht in Anführungszeichen eingeschlossen sind, und enthalten keine Dezimaltrennzeichen. Eine integer-Konstante muss eine ganze Zahl sein; sie kann keine Dezimaltrennzeichen 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 Folge von Ziffern 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, wie etwa das Einfügen eines Kommas (,) nach jeder dritten Ziffer in Währungszeichenfolgen.

    HinweisHinweis

    Kommas werden im angegebenen money-Literal ignoriert.

    Nachfolgend finden Sie Beispiele für money-Konstanten:

    $12
    $542023.14
    
  • 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

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