Konstanten (Datenbankmodul)

Eine Konstante ist ein Symbol, das einen bestimmten Datenwert darstellt. Das Format einer Konstante ist abhängig vom Datentyp des Werts, den sie repräsentiert. Konstanten werden auch als Literale bezeichnet. In den folgenden Tabellen sind Beispiele für die Verwendung von Konstanten dargestellt.

Konstanten verwendet in

Beispiel

Zeichenfolgen

'O''Brien'

'The level for job_id: %d should be between %d and %d.'

Unicode-Zeichenfolgen

N'Michl'

Binäre Zeichenfolgenkonstanten

0x12Ef

0x69048AEFDD010E

bit-Konstanten

0 - Oder - 1

datetime-Konstanten

'April 15, 1998'

'04/15/98'

'14:30:24'

'04:24 PM'

integer-Konstanten

1894

2

decimal-Konstanten

1894.1204

2.0

float- und real-Konstanten

101.5E5

0.5E-2

money-Konstanten

$12

$542023.14

uniqueidentifier-Konstanten

0xff19966f868b11d0b42d00c04fc964ff

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

Bei numerischen Konstanten verwenden Sie die unären Operatoren + und - zur Angabe des Vorzeichens für den numerischen Wert:

+$156.45
-73.52E8
-129.42
+442

Zeichenkonstanten und Unicode-Konstanten wird die Standardsortierung der aktuellen Datenbank zugewiesen, es sei denn, Sie weisen mithilfe der COLLATE-Klausel eine spezielle Sortierung zu. Beispiel:

'abc' COLLATE French_CI_AI
N'lustig' COLLATE German_Phonebook_CS_AS

Verwenden von Konstanten in Transact-SQL

In Transact-SQL stehen zahlreiche Möglichkeiten zum Verwenden von Konstanten zur Verfügung. Es folgen einige Beispiele:

  • Als Konstantenwert in einem arithmetischen Ausdruck:

    SELECT Price + $.10
    FROM MyTable
    
  • Als Datenwert einer Spalte, die in einer WHERE-Klausel verglichen wird:

    SELECT *
    FROM MyTable
    WHERE LastName = 'O''Brien'
    
  • Als Datenwert, der einer Variablen zugewiesen werden soll:

    SET @DecimalVar = -1200.02
    
  • Als Datenwert, der in eine Spalte der aktuellen Zeile eingefügt werden soll. Dies wird mit der SET-Klausel der UPDATE-Anweisung oder der VALUES-Klausel einer INSERT-Anweisung angegeben.

    UPDATE MyTable
    SET Price = $99.99
    WHERE PartNmbr = 1234
    INSERT INTO MyTable VALUES (1235, $88.88)
    
  • Als Zeichenfolge, die den Text der mit einer PRINT- oder RAISERROR-Anweisung ausgegebenen Meldung angibt:

    PRINT 'This is a message.'
    
  • Als Wert, nach dem ein Test in einer bedingten Anweisung durchgeführt wird, wie z. B. in einer IF-Anweisung oder in CASE-Funktionen:

    IF (@@SALESTOTAL > $100000.00)
       EXECUTE Give_Bonus_Procedure