wybrane funkcje mysql

LOWER()

Wynikiem działania funkcji LOWER() jest ciąg znaków podany jako argument, ale składający się wyłącznie z małych liter. Za pomocą tej funkcji wszystkie wielkie litery argumentu zostaną zamienione na małe.

Rysunek - Funkcji skalarnych można używać m.in. w klauzulach SELECT, WHERE i ORDER BY

UPPER()

Wynikiem działania funkcji UPPER() jest ciąg znaków podany jako argument, ale składający się wyłącznie z wielkich liter. Za pomocą tej funkcji wszystkie małe litery argumentu zostaną zamienione na wielkie. Aby na przykład uszeregować nazwy wszystkich towarów alfabetycznie według ich nazw, bez względu na wielkość użytych w nazwie liter, napiszemy:

Rysunek - Poszczególne klauzule instrukcji są od siebie niezależne — dane mogą być na przykład sortowane według wyrażenia niewymienionego w klauzuli SELECT

LEFT()

Za pomocą funkcji LEFT() z podanego jako argument ciągu znaków zostanie wycięta określona liczba znaków, począwszy od lewej strony. Aby odczytać inicjały klientów, wykonamy instrukcję:

Rysunek - Przykład zagnieżdżania funkcji — najpierw odczytywane są pierwsza litera imienia i nazwiska, a następnie są one łączone w jeden ciąg

Za pomocą funkcji RIGHT() z podanego jako argument ciągu znaków zostanie wycięta określona liczba znaków, począwszy od prawej strony.

Rysunek - Wyświetlamy dane wyłącznie tych osób, których imiona kończą się na litery rd

TRIM(), LTRIM() I RTRIM()

Funkcja LTRIM() z podanego ciągu znaków usuwa wiodące spacje, funkcja RTIM() usuwa kończące (wolne) spacje, a funkcja TRIM() — zarówno wiodące, jak i wolne spacje.

Rysunek - Przed zapisaniem danych do bazy z reguły warto usunąć z nich przypadkowo dodane spacje

REPLACE()

Za pomocą funkcji REPLACE() w ciągu znaków podanym jako pierwszy parametr zostanie wyszukany ciąg podany jako jej drugi parametr, a następnie w miejsce znalezionego ciągu będzie podstawiony ciąg podany jako trzeci parametr wywołania. Jeżeli trzeci parametr nie zostanie podany, z ciągu podstawowego będzie wycięty wyszukany ciąg znaków.

Rysunek - Funkcja REPLACE jest niezastąpiona na przykład przy przygotowywaniu kolejnej wersji tego samego zestawienia

SUBSTRING()

W wyniku działania funkcji SUBSTRING() zostanie zwrócona określona liczba znaków z łańcucha tekstowego, począwszy od podanej pozycji. Jeżeli nie podamy liczby zwracanych znaków, zwrócone będą wszystkie znaki występujące po pozycji określonej przez drugi parametr. Podanie ujemnej wartości drugiego parametru spowoduje, że znaki będą liczone od prawej do lewej.

Rysunek - Siedem liter, począwszy od piątej, z nazw produktów

SPACE()

Działanie funkcji SPACE() powoduje zwrócenie liczby spacji określonej jako parametr.

Rysunek - Zamiast ręcznie dodawać spacje, możemy użyć do tego funkcji SPACE()

REVERSE ()

Funkcja REVERSE () zwraca ciąg znaków będący palindromem argumentu wywołania, czyli ciągiem znaków o odwróconej kolejności liter.

Rysunek - Zapytanie zwracające imiona będące palindromami

Funkcje tekstowe zwracające liczby

LENGTH ()

Funkcja LENGTH() jako wynik zwraca długość ciągu znaków podanego jako parametr jej wywołania. Jeżeli wywołamy funkcję LENGTH() z wartością Null, funkcja zwróci wartość Null. Za pomocą poniższej instrukcji wyświetlimy tylko te opisy towarów, które mają długie (dłuższe niż 10-znakowe) nazwy.

Rysunek - Funkcja LENGTH() użyta do selekcji wierszy

INSTR()

W wyniku działania funkcji INSTR() będzie zwrócona pozycja, na której w ciągu znaków podanym jako pierwszy parametr został znaleziony ciąg znaków podany jako drugi parametr. Jeżeli szukany ciąg znaków nie będzie znaleziony, funkcja zwróci 0.

Rysunek - Wykorzystanie funkcji INSTR() do wybrania produktów, które w nazwie mają literę a

Funkcje liczbowe

Funkcje liczbowe pozwalają wykonywać dodatkowe (oprócz dodawania, odejmowania czy mnożenia) operacje matematyczne oraz formatować liczby.

ROUND()

Działanie funkcji ROUND() polega na zaokrągleniu liczby do określonej liczby cyfr po przecinku. Pierwszy parametr jest liczbą do zaokrąglenia, drugi wskazuje, do ilu pozycji chcemy ją zaokrąglić. Ujemna wartość powoduje zaokrąglenie liczby z lewej strony przecinka; 0 spowoduje zaokrąglenie do najbliższej liczby całkowitej. Jeżeli drugi parametr nie jest podany, serwer baz danych przyjmuje domyślnie jego wartość jako równą 0.

Rysunek - Przykład użycia funkcji ROUND()

 TRUNCATE()

Funkcja TRUNCATE() powoduje obcięcie liczby do określonej liczby cyfr po przecinku. Pierwszy parametr jest liczbą do obcięcia, drugi wskazuje, do ilu pozycji chcemy liczbę skrócić. Ujemna wartość powoduje dodanie określonej liczby zer z lewej strony przecinka. Jeżeli drugi parametr nie jest podany, MySQL przyjmuje domyślnie jego wartość jako równą 0.

Rysunek - Obcięcie miejsc po przecinku i zaokrąglenie do iluś miejsc po przecinku to dwie operacje

ABS()

Wynikiem działania funkcji ABS() jest wartość bezwzględna liczby (liczba bez znaku). Jako parametr podaje się liczbę, której wartość bezwzględną należy obliczyć.

Rysunek - Funkcja ABS() użyta do sprawdzenia, czy dana liczba jest dodatnia

CEILING(), FLOOR()

Za pomocą funkcji CEILING() zwrócona zostanie najmniejsza liczba całkowita równa liczbie podanej jako argument funkcji lub większa. Funkcja FLOOR() zwraca największą liczbę całkowitą równą liczbie podanej jako argument funkcji lub mniejszą.

Rysunek – Zwróćmy uwagę na wynik wywołania funkcji z argumentem Null

POWER(), POW()

Funkcja POWER() sprawia, że liczba podana jako pierwszy parametr zostanie podniesiona do potęgi podanej jako drugi parametr. Wartości drugiego parametru mogą być mniejsze niż zero.

Rysunek - Często tę samą funkcję możemy wywołać za pomocą kilku nazw

SQRT()

W wyniku działania funkcji SQRT() zwrócony będzie pierwiastek kwadratowy z liczby podanej jako parametr wywołania.

Rysunek - Przykład użycia funkcji SQRT()

MOD()

Funkcja MOD() zwraca jako wynik wartość reszty po podzieleniu liczby podanej jako pierwszy parametr przez dzielnik podany jako drugi parametr wywołania funkcji. Jeżeli wartość drugiego parametru wynosi 0, zwracana jest liczba podana jako pierwszy parametr.

Rysunek - Zapytanie zwracające dane towarów o parzystych identyfikatorach

FUNKCJE TRYGONOMETRYCZNE — SIN(), COS(), TAN() I COT()

W wyniku działania funkcji SIN() (sinus), COS() (cosinus), TAN()(tangens) i COT() (cotangens) zwrócona zostanie wartość odpowiednich funkcji trygonometrycznych — dla parametru będącego kątem w radianach będzie obliczony odpowiednio: sinus, cosinus, tangens lub cotangens. Aby przeliczyć kąty z radianów na stopnie, należy posłużyć się wzorem: stopnie · PI()/180 = radiany.

Rysunek - Przykład użycia funkcji trygonometrycznych

RAND()

Funkcja RAND() zwraca pseudolosową liczbę z przedziału od 0 do 1. Serwer MySQL oblicza tę wartość dla każdego wiersza wyniku (listing 5.20), co pozwala użyć funkcji RAND() do losowego wybierania danych z tabeli.

Rysunek - MySQL w przeciwieństwie do niektórych serwerów baz danych wylicza wartości funkcji RAND() dla każdego wiersza wyniku

Rysunek - Każde wywołanie tej instrukcji zwróci informację o innym, losowo wybranym towarze

SIGN()

Funkcja SIGN() zwraca 1, jeżeli argumentem jej wywołania była liczba większa od 0, lub 0, jeżeli argumentem jej wywołania było 0, albo –1, jeżeli została wywołana dla liczby mniejszej od zera.

Rysunek - Funkcja SIGN() wywołana dla wyniku odjęcia wartości dwóch kolumn

FORMAT()

Funkcja FORMAT() zwraca przekazaną jako pierwszy argument wywołania liczbę z określoną przez drugi parametr liczbą miejsc po przecinku.

Rysunek - Formatowanie liczb polega na określaniu miejsc po przecinku

Funkcje daty i czasu

Kolejna często używana grupa funkcji to funkcje operujące na argumentach będących zapisem daty lub czasu. W prawie każdej bazie danych część przechowywanych w niej informacji musi mieć jakiś znacznik czasu — atrybut pozwalający na sprawdzenie, kiedy rekord został dodany lub zmodyfikowany. Informacje takie jak dane o poszczególnych transakcjach finansowych stają się bezwartościowe po wyeliminowaniu dat tych operacji. Dlatego MySQL posiada predefiniowane funkcje pozwalające wykonywać podstawowe operacje na danych tego typu.

CURDATE(), CURTIME()

Wynikiem działania funkcji CURDATE() jest bieżąca data, a funkcji CURTIME() — bieżący czas. Częstym zastosowaniem funkcji jest automatyczne wstawianie informacji o czasie utworzenia lub zmodyfikowania danych.

Rysunek - Odczytanie bieżącej daty i czasu systemowego

NOW()

Funkcja NOW() zwraca zarówno datę, jak i czas systemowy.

Rysunek - Przykład wywołania funkcji NOW(). Należy zwrócić uwagę, że nawet jeżeli funkcja wywoływana jest bez parametrów, trzeba użyć nawiasów

DAYOFMONTH(), DAYOFWEEK(), DAYOFYEAR()

Funkcje DAYOFMONTH()DAYOFWEEK()DAYOFYEAR() zwracają numer dnia odpowiednio: miesiąca (liczba z zakresu od 1 do 31), tygodnia (liczba z zakresu od 1 do 7, gdzie 1 oznacza niedzielę — pierwszy dzień tygodnia, a 7 sobotę — siódmy dzień tygodnia) i roku (liczba z zakresu od 1 do 365).

Rysunek - Lista zamówień złożonych w piątek

DAY(), MONTH(), YEAR()

Funkcje DAY()MONTH()YEAR() zwracają odpowiednio dzień, miesiąc i rok z daty przekazanej jako parametr wywołania.

Rysunek - Informacja o dacie zamówień rozbita na dni, miesiące i lata

HOUR(), MINUTE(), SECOND()

Funkcje HOUR(), MINUTE(), SECOND() zwracają odpowiednio godziny, minuty i sekundy z czasu przekazanego jako parametr wywołania.

Rysunek - Informacja o bieżącym czasie rozbita na godziny, minuty i sekundy

DAYNAME(), MONTHNAME()

Funkcje DAYNAME()MONTHNAME() zwracają nazwę dnia tygodnia i miesiąca daty będącej argumentem wywołania.

Rysunek - Opisowo przedstawione dni tygodnia i nazwy miesięcy

DATE_ADD()

Działanie funkcji DATE_ADD() powoduje obliczenie wyniku zmiany daty (podanej jako pierwszy parametr) o ilość jednostek czasu określoną przez drugi parametr.

Rysunek - Terminy zrealizowania zamówień zostały przesunięte o trzy dni

DATEDIFF()

Wynikiem działania funkcji DATEDIFF() jest liczba dni, które dzielą daty podane jako parametry funkcji.

Rysunek - Aliasy zdefiniowane w klauzuli SELECT nie mogą być użyte w innych klauzulach. Zamiast tego musimy powtórzyć całe wyrażenie

Rysunek - Daty zrealizowania zamówień w oryginalnym i polskim formacie uzupełnione o informacje o bieżącym czasie

Funkcje konwersji

ASCII()

W wyniku działania funkcji ASCII() będzie zwrócony kod ASCII znaku podanego jako parametr wywołania. Jeżeli jako parametr podamy ciąg znaków, za pomocą tej funkcji zostanie obliczony i zwrócony kod ASCII pierwszego znaku w ciągu.

Rysunek - Konwersja znaków na liczby

CHR()

Działanie funkcji CHR() jest przeciwieństwem działania funkcji ASCII() — zamiast zamiany tekstu na liczbę przeprowadza konwersję liczby na odpowiadające jej znaki kodu ASCII.

Rysunek - Funkcję CHR() często stosuje się w celu „oszukania” prostych zabezpieczeń przed iniekcją kodu

BIN()

Funkcja BIN() zwraca binarną reprezentację podanej liczby dziesiętnej.

Rysunek - Zmiana podstawy licz

CAST()

Funkcja CAST() pozwala przekonwertować (rzutować) dane przekazane jako pierwszy parametr wywołania na typ podany jako drugi parametr funkcji.

Rysunek - CAST() jest najbardziej uniwersalną funkcją konwersji

ENCODE(), DECODE()

Funkcja ENCODE() zwraca szyfrogram podanego ciągu znaków. Do szyfrowania używane jest hasło podane jako drugi parametr wywołania. Funkcja DECODE() deszyfruje zaszyfrowane funkcją ENCODE() szyfrogramy.

Rysunek - Poufne dane lepiej przechowywać w bazie w postaci zaszyfrowanej

SHA1()

Funkcja SHA1() wylicza sygnaturę podanego ciągu znaków.

Rysunek - W niektórych przypadkach trzeba móc potwierdzić autentyczność danych. Najlepiej wykorzystać do tego funkcję mieszania

PASSWORD()

Hasła użytkowników muszą być chronione, a to oznacza, że nigdy nie należy zapisywać ich w bazie w jawnej postaci. Prawie zawsze hasło wykorzystywane jest jedynie do potwierdzenia tożsamości użytkownika, a do tego celu serwer baz danych nie musi odszyfrować hasła, czyli hasła powinny być zapisane nieodwracalnie zaszyfrowane. Wiemy już, że tak działają funkcje mieszania — hasła do serwera MySQL też są tak przechowywane, z tym że do ich wyliczenia i późniejszego porównania wykorzystywana jest funkcja PASSWORD().

Rysunek - Do sprawdzania tożsamości należy używać sygnatur haseł, nie samych haseł

Funkcje specjalne

LAST_INSERT_ID()

Funkcja LAST_INSERT_ID() zwraca ostatni identyfikator wygenerowany podczas wstawiania przez bieżącego użytkownika wiersza do tabeli. Tego typu informacje są z reguły potrzebne programistom aplikacji klienckich, żeby mogli oni powiązać wstawiony właśnie wiersz z wcześniej zapisanymi w bazie danymi.

Rysunek - Zakresem działania funkcji LAST_INSERT_ID() jest pojedyncza sesja, a więc nie zwróci ona identyfikatorów wierszy wstawionych przez innych użytkowników


Wyszukiwarka

Podobne podstrony:
Wybrane funkcje skalarne serwera MySQL
Wybrane funkcje Excela
funkcje MySQL
3 Wybrane funkcje i procedury obsługi ekranu
WYSIŁEK FIZYCZNY A WYBRANE FUNKCJE ORGANIZMU
Program Funkcje potęgowe służy do rysowania i sprawdzania jak wygląda wybrana funkcja potęgowa , Pro
Wybrane funkcje turystyki wyklad 2
wybrane funkcje, gig, Grafika inżynierska
Wybrane funkcje programu graficznego GIMP do obróbki zdjęć c, wrzut na chomika listopad, Informatyka
34 Wybrane funkcje finansowe
WYSIŁEK FIZYCZNY A WYBRANE FUNKCJE ORGANIZMU
Wybrane funkcje Excela
funkcje MySQL
3 Wybrane funkcje i procedury obsługi ekranu
LIBERTARIAŃSKA KRYTYKA WYBRANYCH FUNKCJI PAŃSTWA
Wybrane funkcje
WYKRESY WYBRANYCH FUNKCJI MATEMATYCZNYCH

więcej podobnych podstron