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