Alle mathematischen Funktionen geben im Fehlerfall
        NULL zurück.
      
            Gibt den absoluten Wert von X
            zurück.
          
mysql>SELECT ABS(2);-> 2 mysql>SELECT ABS(-32);-> 32
            Diese Funktion kann sicher mit
            BIGINT-Werten eingesetzt werden.
          
            Gibt den Arkuskosinus von X
            zurück, d. h. den Wert, dessen Kosinus
            X ist. Gibt
            NULL zurück, wenn
            X nicht im Bereich zwischen
            -1 und 1 liegt.
          
mysql>SELECT ACOS(1);-> 0 mysql>SELECT ACOS(1.0001);-> NULL mysql>SELECT ACOS(0);-> 1.5707963267949
            Gibt den Arkussinus von X
            zurück, d. h. den Wert, dessen Sinus
            X ist. Gibt
            NULL zurück, wenn
            X nicht im Bereich zwischen
            -1 und 1 liegt.
          
mysql>SELECT ASIN(0.2);-> 0.20135792079033 mysql>SELECT ASIN('foo');+-------------+ | ASIN('foo') | +-------------+ | 0 | +-------------+ 1 row in set, 1 warning (0.00 sec) mysql>SHOW WARNINGS;+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'foo' | +---------+------+-----------------------------------------+
            Gibt den Arkustangens von X
            zurück, d. h. den Wert, dessen Tangens
            X ist.
          
mysql>SELECT ATAN(2);-> 1.1071487177941 mysql>SELECT ATAN(-2);-> -1.1071487177941
            Gibt den Arkustangens der beiden Variablen
            X und
            Y zurück. Dies ähnelt der
            Berechnung des Arkustangens von
            Y /
            X
mysql>SELECT ATAN(-2,2);-> -0.78539816339745 mysql>SELECT ATAN2(PI(),0);-> 1.5707963267949
            Gibt den kleinsten Integer-Wert zurück, der nicht kleiner
            als X ist.
          
mysql>SELECT CEILING(1.23);-> 2 mysql>SELECT CEIL(-1.23);-> -1
            Diese beiden Funktionen sind synonym. Beachten Sie, dass der
            Rückgabewert in ein BIGINT konvertiert
            wird.
          
            Gibt den Kosinus von X zurück,
            wobei X in rad angegeben wird.
          
mysql> SELECT COS(PI());
        -> -1
            Gibt den Kotangens von X zurück.
          
mysql>SELECT COT(12);-> -1.5726734063977 mysql>SELECT COT(0);-> NULL
            Berechnet einen Prüfsummenwert (CRC, Cyclic Redundancy
            Check) und gibt einen vorzeichenlosen 32-Bit-Wert zurück.
            Das Ergebnis ist NULL, wenn das Argument
            NULL ist. Als Argument wird ein String
            erwartet, der dann (sofern möglich) so behandelt wird, als
            wäre er keiner.
          
mysql>SELECT CRC32('MySQL');-> 3259397556 mysql>SELECT CRC32('mysql');-> 2501908538
            Gibt das Argument X umgewandelt
            von rad in Grad zurück.
          
mysql>SELECT DEGREES(PI());-> 180 mysql>SELECT DEGREES(PI() / 2);-> 90
            Gibt den Wert von e (Basis natürlicher
            Logarithmen) zur Potenz X
            zurück.
          
mysql>SELECT EXP(2);-> 7.3890560989307 mysql>SELECT EXP(-2);-> 0.13533528323661 mysql>SELECT EXP(0);-> 1
            Gibt den größten Integer-Wert zurück, der nicht größer
            als X ist.
          
mysql>SELECT FLOOR(1.23);-> 1 mysql>SELECT FLOOR(-1.23);-> -2
            Beachten Sie, dass der Rückgabewert in ein
            BIGINT konvertiert wird.
          
            FORMAT(
          X,D)
            Formatiert die Zahl X in ein
            Format wie '#,###,###.##', gerundet auf
            D Dezimalstellen, und gibt das
            Ergebnis als String zurück. Detaillierte Informationen
            finden Sie in Abschnitt 12.3, „String-Funktionen“.
          
            Gibt den natürlichen Logarithmus von
            X zurück, d. h. den Logarithmus
            von X zur Basis
            e.
          
mysql>SELECT LN(2);-> 0.69314718055995 mysql>SELECT LN(-2);-> NULL
            Diese Funktion ist synonym zu
            LOG(.
          X)
            Sofern mit einem Parameter aufgerufen, gibt diese Funktion
            den natürlichen Logarithmus von
            X zurück.
          
mysql>SELECT LOG(2);-> 0.69314718055995 mysql>SELECT LOG(-2);-> NULL
            Wenn der Aufruf mit zwei Parametern erfolgt, gibt die
            Funktion den Logarithmus von X
            zur (beliebig anzugebenden) Basis
            B zurück.
          
mysql>SELECT LOG(2,65536);-> 16 mysql>SELECT LOG(10,100);-> 2
            LOG(
            ist äquivalent mit
            B,X)LOG(.
          X) /
            LOG(B)
            Gibt den Logarithmus von
            X
mysql>SELECT LOG2(65536);-> 16 mysql>SELECT LOG2(-100);-> NULL
            LOG2() ist praktisch, um zu ermitteln,
            wie viele Bits eine Zahl zur Speicherung benötigt. Die
            Funktion ist äquivalent zu dem Ausdruck
            LOG(.
          X) /
            LOG(2)
            Gibt den Logarithmus von X zur
            Basis 10 zurück.
          
mysql>SELECT LOG10(2);-> 0.30102999566398 mysql>SELECT LOG10(100);-> 2 mysql>SELECT LOG10(-100);-> NULL
            LOG10( ist
            äquivalent mit
            X)LOG(10,.
          X)
            Modulooperation. Gibt den Rest von
            N geteilt durch
            M zurück.
          
mysql>SELECT MOD(234, 10);-> 4 mysql>SELECT 253 % 7;-> 1 mysql>SELECT MOD(29,9);-> 2 mysql>SELECT 29 MOD 9;-> 2
            Diese Funktion kann mit BIGINT-Werten
            sicher eingesetzt werden.
          
            MOD() funktioniert auch bei Werten mit
            Nachkommastellen und gibt den exakten Rest nach der Division
            zurück:
          
mysql> SELECT MOD(34.5,3);
        -> 1.5
Gibt den Wert von π (Pi) zurück. Standardmäßig werden sieben Dezimalstellen angezeigt, MySQL verwendet intern jedoch den vollständigen Wert doppelter Genauigkeit.
mysql>SELECT PI();-> 3.141593 mysql>SELECT PI()+0.000000000000000000;-> 3.141592653589793116
            Gibt den Wert von X potenziert zu
            Y an.
          
mysql>SELECT POW(2,2);-> 4 mysql>SELECT POW(2,-2);-> 0.25
            Gibt das Argument X umgewandelt
            von Grad in rad zurück. (Beachten Sie, dass π rad 180
            Grad entspricht.)
          
mysql> SELECT RADIANS(90);
        -> 1.5707963267949
            Gibt einen zufälligen Fließkommawert
            v zwischen 0
            und 1 inklusive (d. h. im Bereich
            0 <= v
            <= 1.0) zurück. Wenn ein
            Integer-Argument N angegeben ist,
            wird es als Ausgangswert verwendet, der eine wiederholbare
            Sequenz erzeugt.
          
mysql>SELECT RAND();-> 0.9233482386203 mysql>SELECT RAND(20);-> 0.15888261251047 mysql>SELECT RAND(20);-> 0.15888261251047 mysql>SELECT RAND();-> 0.63553050033332 mysql>SELECT RAND();-> 0.70100469486881 mysql>SELECT RAND(20);-> 0.15888261251047
            Um einen zufälligen Integer R im
            Bereich i <=
            R <=
            j zu erhalten, verwenden Sie den
            Ausdruck FLOOR(. Um
            beispielsweise einen ganzzahligen Zufallswert im Bereich
            zwischen 7 und 12 (einschließlich) zu erhalten, können Sie
            die folgende Anweisung verwenden:
          i+
            RAND() * (j–
            i+ 1))
SELECT FLOOR(7 + (RAND() * 6));
            Sie können eine Spalte mit RAND()-Werten
            nicht in einer ORDER BY-Klausel angeben,
            weil ORDER BY die Spalte mehrfach
            auswerten würde. Allerdings können Sie Datensätze in
            zufälliger Folge abrufen. Das funktioniert wie folgt:
          
mysql> SELECT * FROM tbl_name ORDER BY RAND();
            ORDER BY RAND() in Kombination mit
            LIMIT ist nützlich zur Auswahl eines
            Zufallswerts aus einer Datensatzmenge:
          
mysql>SELECT * FROM table1, table2 WHERE a=b AND c<d->ORDER BY RAND() LIMIT 1000;
            Beachten Sie, dass RAND() in einer
            WHERE-Klausel jedes Mal, wenn
            WHERE ausgeführt wird, neu ausgewertet
            wird.
          
            RAND() ist nicht als perfekter
            Zufallsgenerator gedacht, sondern stellt eine gute
            Möglichkeit da, ad hoc
            Zufallszahlen zu erzeugen, die innerhalb derselben
            MySQL-Version plattformübergreifend funktioniert.
          
            Gibt das Argument X gerundet auf
            den nächstgelegenen Integer zurück. Bei zwei übergebenen
            Argumenten wird X gerundet auf
            D Dezimalstellen zurückgegeben.
            D kann negativ sein; in diesem
            Fall werden D Stellen links des
            Dezimalpunkts des Werts X null.
          
mysql>SELECT ROUND(-1.23);-> -1 mysql>SELECT ROUND(-1.58);-> -2 mysql>SELECT ROUND(1.58);-> 2 mysql>SELECT ROUND(1.298, 1);-> 1.3 mysql>SELECT ROUND(1.298, 0);-> 1 mysql>SELECT ROUND(23.298, -1);-> 20
Der Rückgabetyp ist derselbe wie der des ersten Arguments (vorausgesetzt, dies ist ein Integer, eine Fließkommazahl oder eine Dezimalzahl). Das bedeutet, dass bei einem Integer-Argument das Ergebnis ein Integer ist (der keine Dezimalstellen aufweist).
            ROUND() verwendet für genaue Zahlen die
            Precision-Math-Bibliothek, wenn das erste Argument ein
            Dezimalwert ist:
          
                Bei genauen Zahlen verwendet ROUND()
                die gängigen Rundungsregeln: Ein Wert mit einem Wert
                von 5 oder größer nach dem Komma wird auf den
                nächsten Integer aufgerundet bzw. (bei negativen
                Werten) abgerundet. (Anders gesagt: Die Rundung erfolgt
                von Null weg.) Ein Wert mit einem Wert von weniger als 5
                nach dem Komma wird auf den nächsten Integer abgerundet
                bzw. (bei negativen Werten) aufgerundet.
              
                Bei Näherungswerten hängt das Ergebnis von der
                C-Bibliothek ab. Auf vielen Systemen bedeutet dies, dass
                ROUND() die Regel „auf nächste
                gerade Zahl aufrunden“ einsetzt: Ein Wert mit
                Nachkommastellen wird auf den nächsten geraden Integer
                gerundet.
              
Das folgende Beispiel zeigt, wie die Rundung sich bei exakten und bei Näherungswerten voneinander unterscheidet:
mysql> SELECT ROUND(2.5), ROUND(25E-1);
+------------+--------------+
| ROUND(2.5) | ROUND(25E-1) |
+------------+--------------+
| 3          |            2 |
+------------+--------------+
Weitere Informationen finden Sie unter Kapitel 23, Präzisionsberechnungen.
            Gibt das Vorzeichen des Arguments als -1,
            0 oder 1 abhängig
            davon zurück, ob X negativ, null
            oder positiv ist.
          
mysql>SELECT SIGN(-32);-> -1 mysql>SELECT SIGN(0);-> 0 mysql>SELECT SIGN(234);-> 1
            Gibt den Sinus von X zurück,
            wobei X in rad angegeben wird.
          
mysql>SELECT SIN(PI());-> 1.2246063538224e-16 mysql>SELECT ROUND(SIN(PI()));-> 0
            Gibt die Quadratwurzel einer nichtnegativen Zahl
            X zurück.
          
mysql>SELECT SQRT(4);-> 2 mysql>SELECT SQRT(20);-> 4.4721359549996 mysql>SELECT SQRT(-16);-> NULL
            Gibt den Tangens von X zurück,
            wobei X in rad angegeben wird.
          
mysql>SELECT TAN(PI());-> -1.2246063538224e-16 mysql>SELECT TAN(PI()+1);-> 1.5574077246549
            Gibt die Zahl X auf
            D Dezimalstellen beschnitten
            zurück. Wenn D
            0 ist, hat das Ergebnis keinen
            Dezimalpunkt und keine Nachkommastellen.
            D kann auch negativ sein. In
            diesem Fall werden D Stellen
            links vom Dezimalpunkt des Werts
            X null.
          
mysql>SELECT TRUNCATE(1.223,1);-> 1.2 mysql>SELECT TRUNCATE(1.999,1);-> 1.9 mysql>SELECT TRUNCATE(1.999,0);-> 1 mysql>SELECT TRUNCATE(-1.999,1);-> -1.9 mysql>SELECT TRUNCATE(122,-2);-> 100 mysql>SELECT TRUNCATE(10.28*100,0);-> 1028
Alle Zahlen werden nach null hin gerundet.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

