Funkcje liczbowe, matematyczne w mySQL – Kurs języka SQL

ABS() – funcja zwracająca wartość bezwzględną podanej liczby

SELECT ABS(-56); -- 56

ACOS() – funkcja zwraca wartość arcus cosinus dla podanego argumentu

SELECT ACOS(0.32); -- 1.2450668395002664

ASIN() – funkcja zwraca wartość arcus sinus dla podanego argumentu

SELECT ASIN(0.32); -- 0.3257294872946302

ATAN() lub ATAN2() – funkcja zwraca wartość arcus tangens dla podanego argumentu bądź argumentów

SELECT ATAN(0.32); -- 0.3097029445424562

SELECT ATAN2(0.32, 0.32); — 0.7853981633974483

CEIL() lub CEILING() – zaokrąglenie w górę do pełnej wartości całkowitej

SELECT CEIL(0.32); -- 1
SELECT CEILING(0.32); -- 1

CONV() – konwersja wartości pomiędzy podanymi systemami. W poniższym przykładzie konwertujemy liczbę “9” z systemu dziesiętnego na dwójowy otrzymując: “1001” oraz liczbę “ABC” zapisaną w systemie szesnastkowym do systemu dziesiętnego otrzymując “2748”.

SELECT conv(9,10,2); -- 1001
SELECT conv('ABC',16,10); -- 2748

SIN() – zwraca wartość funkcji sinus dla podanej wartości kąta w radianach

SELECT SIN(90); -- 0.8939966636005579

SELECT SIN(RADIANS(90)); — 1

COS() – zwraca wartość funkcji cosinus dla podanej wartości kąta w radianach

SELECT COS(60); -- -0.9524129804151563

SELECT COS(RADIANS(60)); — 0.5

TAN() – zwraca wartość funkcji tangens dla podanej wartości kąta w radianach

SELECT TAN(45); -- 1.6197751905438615

SELECT TAN(RADIANS(45)); — 1

COT() – zwraca wartość funkcji cosinus dla podanej wartości kąta w radianach

SELECT COT(45); -- 0.6173696237835551

SELECT COT(RADIANS(45)); — 1

CRC32() – funkcja do wyznaczenia sumy kontrolnej z podanego ciągu

SELECT CRC32('To jest tekst do wyznaczenia sumy kontrolnej'); -- 1504910483

DEGREES() – konwersja radianów na stopnie

SELECT DEGREES(1.5707963267948966); -- 90

RADIANS() – konwersja stopni na radiany

SELECT RADIANS(90) -- 1.5707963267948966

DIV() – operator dzielenia (wynikiem dzielenia jest wartość całkowita) – bez wartości dziesiętnej

SELECT 8 div 3 -- 2

EXP() – funkcja zwracająca wartość “e”, odwrotność funkcji LOG()/LN()

SELECT EXP(1); -- 2.718281828459045

SELECT EXP(2.0794415416798357) — 7.999999999999998

FLOOR() – zaokrąglenie w dół do pełnej wartości całkowitej

SELECT FLOOR(4.32); -- 4

LN() – logarytm z podanej liczby

SELECT LN(8) -- 2.0794415416798357

LOG() – funkcja wyznaczająca logarytm dla podanych argumentów, czyli do jakiej liczby podnieść “2” aby otrzymać “8”

SELECT LOG(2,8) -- 3

LOG10() – funkcja wyznaczająca logarytm dzieśiętny dla podanego argumentu, czyli do jakiej liczby podnieść “10” aby otrzymać “100”

SELECT LOG10(100) -- 2

LOG2() – funkcja wyznaczająca logarytm dwójkowy dla podanego argumentu, czyli do jakiej liczby podnieść “2” aby otrzymać “8”

SELECT LOG2(8) -- 3

+ – operator dodawania

SELECT 1+1; -- 2

– operator odejmowania

SELECT 1-1; -- 0

* – operator mnożenia

SELECT 3*2; -- 6

/ – operator dzielenia

SELECT 3/124; -- 0.0242

MOD() lub % – reszta z dzielenia

SELECT 8 MOD 3 -- 2
SELECT 8 % 3 -- 2

PI() – funkcja zwraca wartość Pi

SELECT PI(); -- 3.141593

POW() lub POWER() – zwraca wartośc podanej liczby podniesionej do określonej potęgi. W poniższym przypadku “2” podniesione do potęgi “8” daje “256”.

SELECT POW(2,8); -- 256
SELECT POWER(2,8); -- 256

RAND() – funkcja generująca wartość losową

SELECT rand(); -- 0.9159928401149743

ROUND() – zaokrąglenie podanej wartości do określonej liczby miejsc po przecinku. Bez parametru wartość zaokrąglana jest do liczby całkowitej.

SELECT ROUND(123.6543); -- 124
SELECT ROUND(123.6543,2) -- 123.65
SELECT ROUND(323.6563834874,4) -- 323.6564

SIGN() – funkcja zwracająca znak dla podanej wartości. Gdy wartość jest mniejsza od zera zwraca “-1”, gdy zero zwraca “0”, gdy większa od zera zwraca “1”

SELECT SIGN(-1212); -- -1
SELECT SIGN(212); -- 1

SQRT() – zwraca pierwiastek kwadratowy z podanej liczby

SELECT SQRT(9); -- 3

TRUNCATE() – funkcja “obcinająca” części dziesiętne (bez zaokrąglania), gdy podany parametr jest większy od “0”, lub “zerująca” części całkowite gdy parametr mniejszy od “0”

SELECT TRUNCATE(1.263,2); -- 1.26
SELECT TRUNCATE(126331,-3); -- 126000