Genauigkeit und Anzahl der Kommastellen können beim Deklarieren einer Dezimalzahl nicht definiert werden, da diese automatisch zugewiesen werden. Genauigkeit und Anzahl der Kommastellen können nur beim Casting zu einer Dezimalzahl angegeben werden.
Dezimalliterale, die lediglich aus einer nicht in Anführungszeichen gesetzten Ziffernfolge bestehen, also kein Dezimalzeichen und keinen Exponenten enthalten (Beispiel:12345) gehören zum Typ INTEGER, wenn sie klein genug sind, um als ganze Zahlen dargestellt zu werden. Ansonsten sind sie vom Typ her DECIMAL.
Dezimalliterale, die aus einer nicht in Anführungszeichen gesetzten Ziffernfolge bestehen und optional ein Dezimalzeichen und einen Exponenten enthalten (Beispiel: 123e1) gehören zum Typ FLOAT, wenn sie klein genug sind, um als Gleitkommazahlen dargestellt zu werden. Ansonsten sind sie vom Typ her DECIMAL.
Dezimalliterale, die aus dem Schlüsselwort DECIMAL und einer Ziffernfolge in Anführungszeichen bestehen und optional ein Dezimalzeichen und/oder einen Exponenten enthalten (oder auch nicht), gehören zum Typ DECIMAL; Beispiel: DECIMAL '42', DECIMAL '1.2346789e+203'.
SET VAL [equals char] CAST('123456' AS DECIMAL(3,0))