QUANTIZE()
DSQL, PSQL
QUANTIZE (decfloat_value, exp_value)
Parameter | Beschreibung |
---|---|
decfloat_value |
Wert oder Ausdruck zum Quantisieren;muss vom Typ |
exp_value |
Wert oder Ausdruck, der für seinen Exponenten verwendet werden soll;muss vom Typ |
QUANTIZE
gibt einen DECFLOAT
-Wert zurück, der in Wert und Vorzeichen (außer Rundung) gleich decfloat_value ist und der einen Exponenten hat, der gleich dem Exponenten von exp_value ist.Der Rückgabewert ist DECFLOAT(16)
, wenn beide Argumente DECFLOAT(16)
sind, andernfalls ist der Ergebnistyp DECFLOAT(34)
.
Note
|
Der Zielexponent ist der Exponent, der im Speicherformat |
Wenn der Exponent von decfloat_value größer als der von exp_value ist, wird der Koeffizient von decfloat_value mit einer Zehnerpotenz multipliziert und sein Exponent verringert, ist der Exponent kleiner, dann wird sein Koeffizient mit dem aktuellen decfloat-Rundungsmodus gerundet, und seine Exponent wird erhöht.
Wenn es nicht möglich ist, den Zielexponenten zu erreichen, weil der Koeffizient die Zielgenauigkeit (16 oder 34 Dezimalstellen) überschreiten würde, wird entweder ein Fehler “Decfloat float invalid operation” ausgegeben oder NaN
zurückgegeben (je nach aktuellem) Konfiguration der decfloat Traps).
Es gibt fast keine Einschränkungen für den exp_value.In fast allen Anwendungen erzeugt NaN
/sNaN
/Infinity
jedoch eine Ausnahme (sofern dies nicht durch die aktuelle decfloat-Traps-Konfiguration erlaubt ist), NULL
lässt die Funktion NULL
zurückgeben und so weiter.