Mathematische Funktionen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

GoogleSQL for BigQuery unterstützt mathematische Funktionen. Alle mathematischen Funktionen verhalten sich in folgender Weise:

  • Sie geben NULL zurück, wenn einer der Eingabeparameter NULL ist.
  • Sie geben NaN zurück, wenn eines der Argumente NaN ist.

ABS

ABS(X)

Beschreibung

Berechnet den absoluten Wert. Gibt einen Fehler zurück, wenn das Argument eine Ganzzahl ist und der Ausgabewert nicht als der gleiche Typ dargestellt werden kann. Dies geschieht nur für den größten negativen Eingabewert, der nicht positiv dargestellt wird.

X ABS(X)
25 25
-25 25
+inf +inf
-inf +inf

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTINT64NUMERICBIGNUMERICFLOAT64

ACOS

ACOS(X)

Beschreibung

Berechnet den Hauptwert des inversen Kosinus von X. Der zurückgegebene Wert liegt im Bereich [0,π]. Erzeugt einen Fehler, wenn X ein Wert außerhalb des Bereichs [-1, 1] ist.

X ACOS(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Fehler
X > 1 Fehler

ACOSH

ACOSH(X)

Beschreibung

Berechnet den inversen hyperbolischen Kosinus von X. Erzeugt einen Fehler, wenn X ein Wert kleiner als 1 ist.

X ACOSH(X)
+inf +inf
-inf NaN
NaN NaN
X < 1 Fehler

ASIN

ASIN(X)

Beschreibung

Berechnet den Hauptwert des inversen Sinus von X. Der zurückgegebene Wert liegt im Bereich [-π/2,π/2]. Erzeugt einen Fehler, wenn X außerhalb des Bereichs [-1, 1] liegt.

X ASIN(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Fehler
X > 1 Fehler

ASINH

ASINH(X)

Beschreibung

Berechnet den inversen hyperbolischen Sinus von X. Scheitert nie.

X ASINH(X)
+inf +inf
-inf -inf
NaN NaN

ATAN

ATAN(X)

Beschreibung

Berechnet den Hauptwert des inversen Tangens von X. Der zurückgegebene Wert liegt im Bereich [-π/2,π/2]. Scheitert nie.

X ATAN(X)
+inf π/2
-inf -π/2
NaN NaN

ATAN2

ATAN2(X, Y)

Beschreibung

Berechnet den Hauptwert des inversen Tangens von X/Y unter Verwendung der Vorzeichen der beiden Argumente, um den Quadranten zu bestimmen. Der zurückgegebene Wert liegt im Bereich [-π, π].

X J ATAN2(X, Y)
NaN Beliebiger Wert NaN
Beliebiger Wert NaN NaN
0,0 0,0 0,0
Positiver endlicher Wert -inf π
Negativer endlicher Wert -inf
Endlicher Wert +inf 0,0
+inf Endlicher Wert π/2
-inf Endlicher Wert -π/2
+inf -inf ¾π
-inf -inf -¾π
+inf +inf π/4
-inf +inf -π/4

ATANH

ATANH(X)

Beschreibung

Berechnet den inversen hyperbolischen Tangens von X. Erzeugt einen Fehler, wenn X außerhalb des Bereichs (-1, 1) liegt.

X ATANH(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Fehler
X > 1 Fehler

CBRT

CBRT(X)

Beschreibung

Berechnet die Kubikwurzel X. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Unterstützt das Präfix SAFE..

X CBRT(X)
+inf inf
-inf -inf
NaN NaN
0 0
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT CBRT(27) AS cube_root;

+--------------------+
| cube_root          |
+--------------------+
| 3.0000000000000004 |
+--------------------+

CEIL

CEIL(X)

Beschreibung

Gibt den kleinsten Integralwert zurück, der nicht kleiner als X ist.

X CEIL(X)
2.0 2,0
2,3 3,0
2,8 3,0
2,5 3,0
-2,3 -2,0
-2,8 -2,0
-2,5 -2,0
0 0
+inf +inf
-inf -inf
NaN NaN

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

CEILING

CEILING(X)

Beschreibung

Synonym von CEIL(X)

COS

COS(X)

Beschreibung

Berechnet den Kosinus von X, wobei X als Radiant angegeben wird. Schlägt niemals fehl.

X COS(X)
+inf NaN
-inf NaN
NaN NaN

COSH

COSH(X)

Beschreibung

Berechnet den hyperbolischen Kosinus von X, wobei X als Radiant angegeben wird. Erzeugt einen Fehler, wenn ein Überlauf auftritt.

X COSH(X)
+inf +inf
-inf +inf
NaN NaN

COT

COT(X)

Beschreibung

Berechnet den Kotangens für den Winkel X, wobei X in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Unterstützt das Präfix SAFE..

X COT(X)
+inf NaN
-inf NaN
NaN NaN
0 Error
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT COT(1) AS a, SAFE.COT(0) AS b;

+---------------------+------+
| a                   | b    |
+---------------------+------+
| 0.64209261593433065 | NULL |
+---------------------+------+

COTH

COTH(X)

Beschreibung

Berechnet den hyperbolischen Kotangens für den Winkel X, wobei X in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Unterstützt das Präfix SAFE..

X COTH(X)
+inf 1
-inf -1
NaN NaN
0 Error
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT COTH(1) AS a, SAFE.COTH(0) AS b;

+----------------+------+
| a              | b    |
+----------------+------+
| 1.313035285499 | NULL |
+----------------+------+

CSC

CSC(X)

Beschreibung

Berechnet die Kosekante des Eingangswinkels, der in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Unterstützt das Präfix SAFE..

X CSC(X)
+inf NaN
-inf NaN
NaN NaN
0 Error
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT CSC(100) AS a, CSC(-1) AS b, SAFE.CSC(0) AS c;

+----------------+-----------------+------+
| a              | b               | c    |
+----------------+-----------------+------+
| -1.97485753142 | -1.188395105778 | NULL |
+----------------+-----------------+------+

CSCH

CSCH(X)

Beschreibung

Berechnet die hyperbolische Kosekante des Eingangswinkels, der in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Unterstützt das Präfix SAFE..

X CSCH(X)
+inf 0
-inf 0
NaN NaN
0 Error
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT CSCH(0.5) AS a, CSCH(-2) AS b, SAFE.CSCH(0) AS c;

+----------------+----------------+------+
| a              | b              | c    |
+----------------+----------------+------+
| 1.919034751334 | -0.27572056477 | NULL |
+----------------+----------------+------+

DIV

DIV(X, Y)

Beschreibung

Gibt das Ergebnis der Ganzzahldivision von X durch Y zurück. Die Division durch null gibt einen Fehler zurück. Division durch -1 kann überlaufen.

X J DIV(X, Y)
20 4 5
12 -7 -1
20 3 6
0 20 0
20 0 Fehler

Rückgabedatentyp

Der Rückgabedatentyp wird durch die Argumenttypen mit der folgenden Tabelle bestimmt.

INPUTINT64NUMERICBIGNUMERIC
INT64INT64NUMERICBIGNUMERIC
NUMERICNUMERICNUMERICBIGNUMERIC
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERIC

EXP

EXP(X)

Beschreibung

Potenziert e mit X, was auch als natürliche Exponentialfunktion bezeichnet wird. Bei einem Unterlauf des Ergebnisses gibt diese Funktion eine Null zurück. Erzeugt einen Fehler, wenn ein Überlauf des Ergebnisses auftritt.

X EXP(X)
0,0 1,0
+inf +inf
-inf 0,0

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

FLOOR

FLOOR(X)

Beschreibung

Gibt den größten Integralwert zurück, der nicht größer als X ist.

X FLOOR(X)
2,0 2,0
2,3 2.0
2,8 2.0
2,5 2.0
-2,3 -3,0
-2,8 -3,0
-2,5 -3,0
0 0
+inf +inf
-inf -inf
NaN NaN

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

GREATEST

GREATEST(X1,...,XN)

Beschreibung

Gibt den größten Wert unter X1,...,XN zurück. Wenn eines der Argumente NULL ist, wird NULL zurückgegeben. Andernfalls wird bei Gleitkommaargumenten NaN zurückgegeben, wenn eines der Argumente NaN ist. In allen anderen Fällen wird der Wert unter X1,...,XN zurückgegeben, der den größten Wert gemäß der von der ORDER BY-Klausel verwendeten Reihenfolge hat. Die Argumente X1, ..., XN müssen zu einem gemeinsamen Supertyp gezwungen werden können und der Supertyp muss die Sortierung unterstützen.

X1,...,XN GREATEST(X1,...,XN)
3,5,1 5

Diese Funktion unterstützt die Angabe der Sortierung.

Rückgabedatentypen

Der Datentyp der Eingabewerte.

IEEE_DIVIDE

IEEE_DIVIDE(X, Y)

Beschreibung

Dividiert X durch Y. Diese Funktion schlägt nie fehl. Gibt FLOAT64 zurück. Erzeugt im Gegensatz zum Divisionsoperator (/) keinen Fehler für die Division durch null oder Überlauf.

X J IEEE_DIVIDE(X, Y)
20.0 4.0 5,0
0,0 25.0 0,0
25.0 0,0 +inf
-25.0 0,0 -inf
0,0 0,0 NaN
0,0 NaN NaN
NaN 0.0 NaN
+inf +inf NaN
-inf -inf NaN

IS_INF

IS_INF(X)

Beschreibung

Gibt TRUE zurück, wenn der Wert positiv oder negativ unendlich ist.

X IS_INF(X)
+inf TRUE
-inf TRUE
25 FALSE

IS_NAN

IS_NAN(X)

Beschreibung

Gibt TRUE zurück, wenn der Wert ein NaN-Wert ist.

X IS_NAN(X)
NaN TRUE
25 FALSE

LEAST

LEAST(X1,...,XN)

Beschreibung

Gibt den kleinsten Wert unter X1,...,XN zurück. Wenn eines der Argumente NULL ist, wird NULL zurückgegeben. Andernfalls wird bei Gleitkommaargumenten NaN zurückgegeben, wenn eines der Argumente NaN ist. In allen anderen Fällen wird der Wert unter X1,...,XN zurückgegeben, der den größten Wert gemäß der von der ORDER BY-Klausel verwendeten Reihenfolge hat. Die Argumente X1, ..., XN müssen zu einem gemeinsamen Supertyp gezwungen werden können und der Supertyp muss die Sortierung unterstützen.

X1,...,XN LEAST(X1,...,XN)
3,5,1 1

Diese Funktion unterstützt die Angabe der Sortierung.

Rückgabedatentypen

Der Datentyp der Eingabewerte.

LN

LN(X)

Beschreibung

Berechnet den natürlichen Logarithmus von X. Generiert einen Fehler, wenn X kleiner als oder gleich null ist.

X LN(X)
1,0 0,0
+inf +inf
X < 0 Fehler

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

LOG

LOG(X [, Y])

Beschreibung

Wenn nur X vorhanden ist, dann ist LOG ein Synonym für LN. Ist Y ebenfalls vorhanden, berechnet LOG den Logarithmus von X zur Basis Y.

X J LOG(X, Y)
100,0 10,0 2.0
-inf Beliebiger Wert NaN
Beliebiger Wert +inf NaN
+inf 0.0 < Y < 1.0 -inf
+inf Y > 1,0 +inf
X <= 0 Beliebiger Wert Fehler
Beliebiger Wert Y <= 0 Fehler
Beliebiger Wert 1,0 Fehler

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64FLOAT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

LOG10

LOG10(X)

Beschreibung

Ähnlich wie bei LOG, berechnet den Logarithmus aber auf Basis 10.

X LOG10(X)
100,0 2.0
-inf NaN
+inf +inf
X <= 0 Fehler

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

MOD

MOD(X, Y)

Beschreibung

Modulo-Funktion: gibt den Rest der Division von X durch Y zurück. Der zurückgegebene Wert hat dasselbe Vorzeichen wie X. Wenn Y gleich 0 ist, wird ein Fehler ausgegeben.

X J MOD(X, Y)
25 12 1
25 0 Fehler

Rückgabedatentyp

Der Rückgabedatentyp wird durch die Argumenttypen mit der folgenden Tabelle bestimmt.

INPUTINT64NUMERICBIGNUMERIC
INT64INT64NUMERICBIGNUMERIC
NUMERICNUMERICNUMERICBIGNUMERIC
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERIC

POW

POW(X, Y)

Beschreibung

Gibt den Wert X zurück, der mit Y potenziert wird. Wenn das Ergebnis unterläuft und nicht darstellbar ist, gibt die Funktion den Wert null zurück.

X J POW(X, Y)
2.0 3,0 8.0
1,0 Beliebiger Wert, einschließlich NaN 1,0
Beliebiger Wert, einschließlich NaN 0 1,0
-1,0 +inf 1,0
-1,0 -inf 1,0
ABS (X) < 1 -inf +inf
ABS (X) > 1 -inf 0,0
ABS (X) < 1 +inf 0,0
ABS (X) > 1 +inf +inf
-inf Y < 0 0,0
-inf Y > 0 -inf, wenn Y eine ungerade Ganzzahl ist, sonst +inf
+inf Y < 0 0
+inf Y > 0 +inf
Endlicher Wert < 0 Keine Ganzzahl Fehler
0 Endlicher Wert < 0 Fehler

Rückgabedatentyp

Der Rückgabedatentyp wird durch die Argumenttypen mit der folgenden Tabelle bestimmt.

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64FLOAT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

POWER

POWER(X, Y)

Beschreibung

Synonym für POW(X, Y).

RAND

RAND()

Beschreibung

Erzeugt einen Pseudozufallswert vom Typ FLOAT64 im Bereich [0, 1), einschließlich 0 und exklusive 1.

RANGE_BUCKET

RANGE_BUCKET(point, boundaries_array)

Beschreibung

RANGE_BUCKET scannt ein sortiertes Array und gibt die 0-basierte Position der oberen Grenze des Punkts zurück. Dies kann nützlich sein, wenn Sie Ihre Daten gruppieren müssen, um Partitionen, Histogramme, unternehmensspezifische Regeln usw. zu erstellen.

RANGE_BUCKET folgt diesen Regeln:

  • Wenn der Punkt im Array vorhanden ist, wird der Index des nächstgrößeren Werts zurückgegeben.

    RANGE_BUCKET(20, [0, 10, 20, 30, 40]) -- 3 is return value
    RANGE_BUCKET(20, [0, 10, 20, 20, 40, 40]) -- 4 is return value
    
  • Wenn der Punkt nicht im Array vorhanden ist, aber zwischen zwei Werten liegt, wird der Index des größeren Werts zurückgegeben.

    RANGE_BUCKET(25, [0, 10, 20, 30, 40]) -- 3 is return value
    
  • Wenn der Punkt kleiner als der erste Wert im Array ist, wird 0 zurückgegeben.

    RANGE_BUCKET(-10, [5, 10, 20, 30, 40]) -- 0 is return value
    
  • Wenn der Punkt größer oder gleich dem letzten Wert im Array ist, wird die Länge des Arrays zurückgegeben.

    RANGE_BUCKET(80, [0, 10, 20, 30, 40]) -- 5 is return value
    
  • Wenn das Array leer ist, wird 0 zurückgegeben.

    RANGE_BUCKET(80, []) -- 0 is return value
    
  • Wenn der Punkt NULL oder NaN ist, wird NULL zurückgegeben.

    RANGE_BUCKET(NULL, [0, 10, 20, 30, 40]) -- NULL is return value
    
  • Der Datentyp für den Punkt und das Array muss kompatibel sein.

    RANGE_BUCKET('a', ['a', 'b', 'c', 'd']) -- 1 is return value
    RANGE_BUCKET(1.2, [1, 1.2, 1.4, 1.6]) -- 2 is return value
    RANGE_BUCKET(1.2, [1, 2, 4, 6]) -- execution failure
    

Ein Ausführungsfehler tritt in folgenden Fällen auf:

  • Das Array enthält einen NaN- oder NULL-Wert.

    RANGE_BUCKET(80, [NULL, 10, 20, 30, 40]) -- execution failure
    
  • Das Array ist nicht in aufsteigender Reihenfolge sortiert.

    RANGE_BUCKET(30, [10, 30, 20, 40, 50]) -- execution failure
    

Parameter

  • point: Ein generischer Wert.
  • boundaries_array: Ein generisches Array von Werten.

Rückgabewert

INT64

Beispiele

Prüfen Sie in einer Tabelle mit dem Namen students, wie viele Datensätze in jedem age_group-Bucket auf Basis des Alters eines Schülers/Studenten vorhanden wären:

  • age_group 0 (Alter < 10)
  • age_group 1 (Alter >= 10, Alter < 20)
  • age_group 2 (Alter >= 20, Alter < 30)
  • age_group 3 (Alter >= 30)
WITH students AS
(
  SELECT 9 AS age UNION ALL
  SELECT 20 AS age UNION ALL
  SELECT 25 AS age UNION ALL
  SELECT 31 AS age UNION ALL
  SELECT 32 AS age UNION ALL
  SELECT 33 AS age
)
SELECT RANGE_BUCKET(age, [10, 20, 30]) AS age_group, COUNT(*) AS count
FROM students
GROUP BY 1

+--------------+-------+
| age_group    | count |
+--------------+-------+
| 0            | 1     |
| 2            | 2     |
| 3            | 3     |
+--------------+-------+

ROUND

ROUND(X [, N] [, rounding_mode])

Beschreibung

Wenn nur X vorhanden ist, wird X auf die nächste Ganzzahl gerundet. Wenn N vorhanden ist, wird X auf N Stellen nach dem Dezimalzeichen gerundet. Wenn N negativ ist, werden Ziffern links vom Dezimalzeichen abgerundet. Rundet halbe Zahlen von null weg. Erzeugt einen Fehler, wenn ein Überlauf auftritt.

Wenn X ein NUMERIC- oder BIGNUMERIC-Typ ist, können Sie rounding_mode (Preview) explizit auf einen der folgenden Werte festlegen:

Wenn Sie den rounding_mode festlegen und X kein NUMERIC- oder BIGNUMERIC-Typ ist, erzeugt die Funktion einen Fehler.

Ausdruck Rückgabewert
ROUND(2.0) 2.0
ROUND(2.3) 2,0
ROUND(2.8) 3.0
ROUND(2.5) 3.0
ROUND(-2.3) -2,0
ROUND(-2.8) -3,0
ROUND(-2.5) -3,0
ROUND(0) 0
ROUND(+inf) +inf
ROUND(-inf) -inf
ROUND(NaN) NaN
ROUND(123.7, -1) 120,0
ROUND(1.235, 2) 1.24
ROUND(NUMERIC "2.25", 1, "ROUND_HALF_EVEN") 2,2
ROUND(NUMERIC "2.35", 1, "ROUND_HALF_EVEN") 2.4
ROUND(NUMERIC "2.251", 1, "ROUND_HALF_EVEN") 2,3
ROUND(NUMERIC "-2.5", 0, "ROUND_HALF_EVEN") -2
ROUND(NUMERIC "2.5", 0, "ROUND_HALF_AWAY_FROM_ZERO") 3
ROUND(NUMERIC "-2.5", 0, "ROUND_HALF_AWAY_FROM_ZERO") -3

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

SAFE_ADD

SAFE_ADD(X, Y)

Beschreibung

Entspricht dem Additionsoperator (+), gibt jedoch NULL zurück, wenn ein Überlauf auftritt.

X J SAFE_ADD(X, Y)
5 4 9

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64INT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_DIVIDE

SAFE_DIVIDE(X, Y)

Beschreibung

Entspricht dem Divisionsoperator (X / Y), gibt jedoch NULL zurück, wenn ein Fehler auftritt, beispielsweise bei einer Division durch null.

X J SAFE_DIVIDE(X, Y)
20 4 5
0 20 0
20 0 NULL

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64FLOAT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_MULTIPLY

SAFE_MULTIPLY(X, Y)

Beschreibung

Entspricht dem Multiplikationsoperator (*), gibt jedoch NULL zurück, wenn ein Überlauf auftritt.

X J SAFE_MULTIPLY(X, Y)
20 4 80

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64INT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_NEGATE

SAFE_NEGATE(X)

Beschreibung

Entspricht dem Unäres-Minus-Operator (-), gibt jedoch NULL zurück, wenn ein Überlauf auftritt.

X SAFE_NEGATE(X)
+1 -1
-1 +1
0 0

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTINT64NUMERICBIGNUMERICFLOAT64

SAFE_SUBTRACT

SAFE_SUBTRACT(X, Y)

Beschreibung

Gibt das Ergebnis von X minus Y zurück. Entspricht dem Subtraktionsoperator (-), gibt jedoch NULL zurück, wenn ein Überlauf auftritt.

X J SAFE_SUBTRACT(X, Y)
5 4 1

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
INT64INT64NUMERICBIGNUMERICFLOAT64
NUMERICNUMERICNUMERICBIGNUMERICFLOAT64
BIGNUMERICBIGNUMERICBIGNUMERICBIGNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64FLOAT64

SEC

SEC(X)

Beschreibung

Berechnet die Sekante für den Winkel X, wobei X in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird.

X SEC(X)
+inf NaN
-inf NaN
NaN NaN
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT SEC(100) AS a, SEC(-1) AS b;

+----------------+---------------+
| a              | b             |
+----------------+---------------+
| 1.159663822905 | 1.85081571768 |
+----------------+---------------+

SECH

SECH(X)

Beschreibung

Berechnet den Kotangens für den Winkel X, wobei X in Radiant angegeben wird. X kann ein beliebiger Datentyp sein, der in FLOAT64 umgewandelt wird. Erzeugt nie einen Fehler.

X SECH(X)
+inf 0
-inf 0
NaN NaN
NULL NULL

Rückgabedatentyp

FLOAT64

Beispiel

SELECT SECH(0.5) AS a, SECH(-2) AS b, SECH(100) AS c;

+----------------+----------------+---------------------+
| a              | b              | c                   |
+----------------+----------------+---------------------+
| 0.88681888397  | 0.265802228834 | 7.4401519520417E-44 |
+----------------+----------------+---------------------+

SIGN

SIGN(X)

Beschreibung

Gibt -1, 0 oder +1 für negative, Null- bzw. positive Argumente zurück. Bei Gleitkommaargumenten unterscheidet diese Funktion nicht zwischen positiv und negativ null.

X SIGN(X)
25 +1
0 0
-25 -1
NaN NaN

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTINT64NUMERICBIGNUMERICFLOAT64

SIN

SIN(X)

Beschreibung

Berechnet den Sinus von X, wobei X als Radiant angegeben wird. Schlägt niemals fehl.

X SIN(X)
+inf NaN
-inf NaN
NaN NaN

SINH

SINH(X)

Beschreibung

Berechnet den hyperbolischen Sinus von X, wobei X als Radiant angegeben wird. Erzeugt einen Fehler, wenn ein Überlauf auftritt.

X SINH(X)
+inf +inf
-inf -inf
NaN NaN

SQRT

SQRT(X)

Beschreibung

Berechnet die Quadratwurzel aus X. Generiert einen Fehler, wenn X kleiner als 0 ist.

X SQRT(X)
25.0 5.0
+inf +inf
X < 0 Fehler

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64

TAN

TAN(X)

Beschreibung

Berechnet den Tangens von X, wobei X als Radiant angegeben wird. Erzeugt einen Fehler, wenn das Ergebnis überläuft.

X TAN(X)
+inf NaN
-inf NaN
NaN NaN

TANH

TANH(X)

Beschreibung

Berechnet den hyperbolischen Tangens von X, wobei X als Radiant angegeben wird. Schlägt nie fehl.

X TANH(X)
+inf 1,0
-inf -1,0
NaN NaN

TRUNC

TRUNC(X [, N])

Beschreibung

Wenn nur X vorhanden ist, rundet TRUNC X auf die nächste Ganzzahl, deren absoluter Wert nicht größer als der absolute Wert von X ist. Wenn N ebenfalls vorhanden ist, verhält sich TRUNC wie ROUND(X, N), rundet aber immer gegen null und läuft nie über.

X TRUNC(X)
2.0 2,0
2,3 2.0
2,8 2.0
2,5 2.0
-2,3 -2,0
-2,8 -2,0
-2,5 -2,0
0 0
+inf +inf
-inf -inf
NaN NaN

Rückgabedatentyp

INPUTINT64NUMERICBIGNUMERICFLOAT64
OUTPUTFLOAT64NUMERICBIGNUMERICFLOAT64