Funkcje znakowe, liczbowe i obsługa dat Kolejny krok w poznaniu SQL-a
Funkcje znakowe (1) LOWER(wartość) – zmienia WIELKIE litery na małe UPPER(wartość) – zmienia małe litery na WIELKIE LPAD(wartość, n, ciąg), RPAD(wartość, n, ciąg) – uzupełnia kolumny z lewej(prawej) podanym ciągiem aż do długości n znaków. Jeśli ciąg nie został podany to wypełni spacjami LOCATE(ciąg, wartość) – wskazuje miejsce pierwszego wystąpienia danego ciągu w podanej wartości
Funkcje znakowe (2) SUBSTR(wartość, [n], m) – z podanego łańcucha wycina m znaków począwszy od pozycji n-tej LENGTH(wartość) – zwraca długość łańcucha znaków SUBSTRING(wartość, n, m) – z podanego łańcucha pokazuje m znaków od pozycji n-tej REVERSE(wartość) – zwraca odwróconą kolejność łańcucha REPLACE(źródło, wzór, nowy) – każde wystąpienie w źródle ciągu wzorzec zostanie zastąpiony na nowy.
Funkcje liczbowe ROUND(wartość, n) – zaokrągla wartość do n-tego dziesiętnego miejsca po przecinku CEIL(wartość), FLOOR(wartość) – usuwa wszystkie cyfry znajdujące się po punkcie dziesiętnym i zaokrągla oryginalną liczbę zmiennoprzecinkową do najbliższej wyższej(mniejszej) liczby całkowietej POWER(wartość, n) – podnosi wartość do n-tej potęgi SQRT(wartość) – oblicza pierwiastek kwadratowy z podanej wartości MOD(wartość1, wartość2) – zwraca resztę z dzielenia wartości1 przez wartość2 RAND() – generuje losową liczbę zmiennoprzecinkową z przedziału od 0 do 1
Funkcje operujące na datach(1) DAY, MONTH, YEAR, HOUR, MINUTE, SECOND(wartość) – zwraca numer dnia, miesiąca, roku, godziny, minuty, sekundy z podanej w wartości CURDATE() – pobieranie aktualnej daty z serwera MySQL w formacie: YYYY- MM-DD CURTIME() – pobieranie aktualnego czasu z serwera MySQL w formacie: HH- MM-SS NOW(), SYSDATE(), CURRENT_TIMESTAMP – pobieranie aktualnej daty i czasu w formacie: YYYY-MM-DD HH-MM-SS
Funkcje operujące na datach(2) DATE_ADD(data, INTERVAL jednostka) – dodaje do podanej daty określoną liczbę jednostek np. date_add(now(), interval 1 day) DATE_SUB(data, INTERVAL jednostka) – odejmuje do podanej daty określoną liczbę jednostek np. date_sub(now(), interval 1 day) DATEDIFF(data1, data2) – zwraca ilość dni pomiędzy dwoma datami DAYNAME(data), MONTHNAME(data) – zwraca pełną nazwę dnia tygodnia, miesiąca(oczywiście w języku angielskim) TO_DAYS(data) – zwraca liczbę dni jakie minęły od początku naszej ery FROM_DAYS(dni) – zwraca datę, którą wskazuje liczba dni od początku naszej ery
Przekształcenie formatu daty DATE_FORMAT(data, format) – zmienia podaną datę na zaproponowany format np. DATE_FORMAT(NOW(),'%d %M %Y') Pełna lista znaczników języka MySQL: %a – zwraca skróconą nazwę dnia tygodnia %b – zwraca skróconą nazwę miesiąca %c – zwraca numer miesiąca %D – zwraca dzień miesiąca wraz z liczebnikiem porządkowym %d – zwraca dzień miesiąca w formacie dwucyfrowym %e – zwraca dzień miesiąca %f – zwraca liczbę mikrosekund %H – zwraca godzinę w formacie 24 godzinnym, dwucyfrowym %h – zwraca godzinę w formacie 12 godzinnym, dwucyfrowym %i – zwraca liczbę minut %j – zwraca numer dnia w roku w formacie trzycyfrowym
Znaczniki cd. %k – zwraca godzinę w formacie 24 godzinnym %l – zwraca godzinę w formacie 12 godzinnym %M – zwraca pełną nazwę miesiąca %m – zwraca numer miesiąca %p – zwraca AM, lub PM w zależności od pory dani %r – zwraca czas w formacie 12 godzinnym %S – zwraca liczbę sekund %T – zwraca czas w formacie 24 godzinnym %U – zwraca numer tygodnia (niedziela jest dniem pierwszym, liczone od 00) %u – zwraca numer tygodnia (poniedziałek jest dniem pierwszym,liczone od 00) %V – zwraca numer tygodnia (niedziela jest pierwszym dniem, liczone od 01) %v – zwraca numer tygodnia (poniedziałek jest pierwszym dniem, liczone od 01) %W – zwraca pełną nazwę dnia tygodnia %X – zwraca rok danego tygodnia (niedziela jest pierwszym dniem) %x – zwraca rok danego tygodnia (poniedziałek jest pierwszym dniem) %Y – zwraca rok w formacie czterocyfrowym %y – zwraca rok w formacie dwucyfrowym