- Kategorien:
Numerische Funktionen (Rundung und Kürzung)
CEIL¶
Gibt Werte aus Eingabeausdruck
zurück, die auf die nächste gleichgroße oder größere Ganzzahl oder auf den nächsten gleichgroßen oder größeren Wert mit der angegebenen Anzahl von Nachkommastellen gerundet sind.
- Siehe auch:
Syntax¶
CEIL( <input_expr> [, <scale_expr> ] )
Argumente¶
Eingabeausdruck
Der Wert oder Ausdruck, der verarbeitet werden soll. Der Datentyp sollte aus einem der numerischen Datentypen bestehen, z. B. FLOAT oder NUMBER.
Skalierungsausdruck
Die Anzahl der Stellen, die die Ausgabe nach dem Dezimalpunkt enthalten soll. Der Ausdruck sollte eine Ganzzahl von -38 bis +38 ergeben.
Der Standardwert für
Skalierungsausdruck
ist null. Das bedeutet, dass die Funktion alle Nachkommastellen entfernt.Informationen zu negativen Skalierungen finden Sie in den folgenden Nutzungshinweisen.
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist NUMBER(Genauigkeit, Skalierung).
Wenn die Eingabeskalierung größer oder gleich Null war, stimmt die Ausgabeskalierung im Allgemeinen mit der Eingabeskalierung überein.
Wenn die Eingabeskalierung negativ war, lautet die Ausgabeskalierung 0.
- Beispiel:
Der von CEIL(3.14, 1) zurückgegebene Datentyp lautet NUMBER(4, 1).
Der von CEIL(3.14, 0) zurückgegebene Datentyp lautet NUMBER(4, 0).
Der von CEIL(33.33, -1) zurückgegebene Datentyp lautet NUMBER(5, 0).
Wenn die Skalierung Null ist, dann ist der Wert effektiv eine ganze Zahl.
Nutzungshinweise¶
Wenn
Skalierungsausdruck
negativ ist, wird die Anzahl der Stellen vor dem Dezimalpunkt angegeben, an die die Zahl angepasst werden soll. Wenn die Skalierung beispielsweise -2 beträgt, ist das Ergebnis ein Vielfaches von 100.Wenn
Skalierungsausdruck
größer als die Skalierung des Eingabeausdrucks ist, hat die Funktion keine Auswirkungen.Wenn entweder
Eingabeausdruck
oderSkalierungsausdruck
NULL sind, lautet das Ergebnis NULL.Wenn negative Zahlen aufgerundet werden, ist der Wert näher an 0; so ergibt CEIL(-1.9) beispielsweise -1, nicht -2.
Wenn die Zahl durch das Aufrunden außerhalb des Wertebereichs des Datentyps liegt, wird ein Fehler zurückgegeben.
Beispiele¶
In diesem Beispiel wird die Funktion ohne den Parameter Skalierungsausdruck
veranschaulicht:
SELECT CEIL(135.135), CEIL(-975.975); +---------------+----------------+ | CEIL(135.135) | CEIL(-975.975) | |---------------+----------------| | 136 | -975 | +---------------+----------------+
In diesem Beispiel wird die Funktion mit dem Parameter Skalierungsausdruck
veranschaulicht, einschließlich Skalierung mit negativen Zahlen:
Erstellen Sie eine Tabelle, und füllen Sie diese:
CREATE TRANSIENT TABLE test_ceiling (n FLOAT, scale INTEGER); INSERT INTO test_ceiling (n, scale) VALUES (-975.975, -1), (-975.975, 0), (-975.975, 2), ( 135.135, -2), ( 135.135, 0), ( 135.135, 1), ( 135.135, 3), ( 135.135, 50), ( 135.135, NULL) ;Ausgabe:
SELECT n, scale, ceil(n, scale) FROM test_ceiling ORDER BY n, scale; +----------+-------+----------------+ | N | SCALE | CEIL(N, SCALE) | |----------+-------+----------------| | -975.975 | -1 | -970 | | -975.975 | 0 | -975 | | -975.975 | 2 | -975.97 | | 135.135 | -2 | 200 | | 135.135 | 0 | 136 | | 135.135 | 1 | 135.2 | | 135.135 | 3 | 135.135 | | 135.135 | 50 | 135.135 | | 135.135 | NULL | NULL | +----------+-------+----------------+