funkcje-sql.pdf

(121 KB) Pobierz
Microsoft Word - opis funkcji.doc
Opis funkcji w języku SQL
Funkcje znakowe
LOWER(kol|wartość) – zmiana dużych liter na odpowiadające im małe litery
UPPER(kol|wartość) – zmiana małych liter na odpowiadające im duże litery
INITCAP(kol|wartość) – zmiana pierwszej litery każdego słowa tekstu na odpowiadającą jej dużą
literę, pozostałych liter na małe
LPAD(kol|wartość,n,[‘ciąg’]) – uzupełnienie kolumny lub literału z lewej strony do długości n
znaków za pomocą zadanego ciągu jeśli ostatni argument jest opuszczony, następuje uzupełnienie spacjami
RPAD(kol|wartość,n,[‘ciąg’]) – uzupełnienie kolumny lub literału z prawej strony do długości n
znaków za pomocą zadanego ciągu jeśli ostatni argument jest opuszczony, następuje uzupełnienie spacjami
SUBSTR(kol|wartość,m,[n]) – wybranie podciągu składającego się z n znaków z kolumny lub
literału, począwszy od znaku o numerze m., jeśli n nie jest podane, wybranie podciągu od pozycji m do
końca
INSTR(kol|wartość,’ciąg’,m,n) – wskazanie miejsca położenia pierwszego wystąpienia ciągu, lub
wskazanie miejsca położenia n-ego wystąpienia ciągu, począwszy od pozycji m.
LTRIM(kol|wartość,’znaki’) – usunięcie z lewej strony wiodących wystąpień dowolnych
kombinacji znaków, jeśli drugi argument nie jest podany, usunięcie wiodących spacji
RTRIM(kol|wartość,’znaki’) - usunięcie z prawej strony wystąpień dowolnych kombinacji znaków,
jeśli drugi argument nie jest podany, usunięcie końcowych spacji
SOUNDEX(kol|wartość) – zwraca ciąg znaków reprezentujących brzmienie słów będących
zawartością kolumny lub literału. Funkcja ta umożliwia więc porównywanie słów, które wprawdzie pisze się
inaczej, lecz wymawia tak samo
LENGHT(kol|wartość) – zwraca długość ciągu znaków zawartego w kolumnie lub długość literału
TRANSLATE(kol|wartość,z,na) – w źródłowym ciągu znaków wszystkie wystąpienia znaków
występujących w ciągu z, zostają zastąpione odpowiadającymi znakami z ciągu na, pozostałe znaki nie są
zmieniane, jeśli nie ma odpowiadającego znaku, znak źródłowy zostaje usunięty
REPLACE(kol|wartość,ciąg,ciąg_zastępujący) – w źródłowym ciągu wszystkie wystąpienia
danego ciągu zostają zastąpione przez ciąg_zastępujący, jeśli argument ciąg_zastępujący nie jest podany,
wszystkie wystąpienia ciąg zostają usunięte
Funkcje liczbowe
ROUND(kol|wartość,n) – zaokrąglenie wartości kolumny, wyrażenia lub liczby do dziesiętnego
miejsca po przecinku; jeśli n jest ujemne zaokrąglenie do n-ego miejsca przed przecinkiem; jeśli n nie
podane, zaokrąglenie z dokładnością do jednostek
TRUNC(kol|wartość,n) – obcięcie kolumny lub wartości do n-ego, dziesiętnego miejsca po
przecinku; jeśli n jest ujemne, obcięcie do n-ego miejsca przed przecinkiem; jeśli n nie jest podane obcięcie z
dokładnością do jednostek
CEIL(kol|wartość) – najmniejsza liczba całkowita większa lub równa wartości w kolumnie,
wyrażeniu lub zadanej wartości
FLOOR(kol|wartość) – największa liczba całkowita większa lub równa wartości w kolumnie,
wyrażeniu lub zadanej wartości
POWER(kol|wartość,n) – n-ta potęga wartości kolumny, wyrażenia lub zadanej wartości; n może
być ujemne lecz całkowite; jeśli nie jest wystąpi błąd
SQRT(kol|wartość) – pierwiastek kwadratowy z wartości kolumny lub zadanej wartości; jeśli
wartość podpierwiastkowa jest ujemna, funkcja zwraca wartość NULL
SIGN(kol|wartość) – funkcja zwraca –1, jeśli argument jest ujemny, 0 jeśli jest zerem oraz +1 jeśli
jest dodatni
ABS(kol|wartość) – wartość bezwzględna
MOD(wartość1, wartość2) – reszta z dzielenia wartość1 przez wartość2
Funkcje działające na datach
MONTH_BETWEEN(data1,data2) – ilość miesięcy pomiędzy wyspecyfikowanymi datami; wynik
może być dodatni; jeśli data1 jest późniejsza od daty2 lub ujemny jeśli data1 jest wcześniejsza
ADD_MONTHS(data,n) – data plus n miesięcy kalendarzowych, n musi być całkowite, lecz może
być ujemne
NEXT_DAY(data1,znaki) – data dnia w tygodniu określonego argumentem ‘znaki’ następnego po
data1; ‘znaki’ reprezentują numer lub nazwę dnia tygodnia
LAST_DAY(data1) – data ostatniego dnia w miesiącu, do którego należy data1
ROUND(data1) – data1 ze składnikiem zegarowym ustalonym na 12:00 AM, funkcja wygodna do
porównania dat o różnych składnikach zegarowych
ROUND(data1,’MONTH’) – data pierwszego dnia miesiąca zawierającego data1, jeśli data1 jest
datą z pierwszej połowy miesiąca, w przeciwnym razie jest to data pierwszego dnia następnego miesiąca
ROUND(data1,’YEAR’) – data pierwszego dnia w roku zawierającym data1, jeśli data1 jest datą z
pierwszej połowy roku, w przeciwnym przypadku jest to data pierwszego dnia następnego roku
TRUNC(data1,’znaki’) – data pierwszego dnia miesiąca zawierającego data1, jeśli znaki=MONTH
lub pierwszego dnia roku jeśli znaki=YEAR
Funkcje konwersji
TO_CHAR(liczba|data[,’fmt’]) – zamiana liczby lub daty na ciąg znaków zgodny z formatem ‘fmt’,
jest często używana do przedstawiania daty w rozbudowanym formacie
TO_DATE(ciąg,’fmt’) - zamiana ciągu znaków reprezentujących datę w formacie ‘fmt’ na daną typu
DATE, jeśli drugi argument nie występuje, należy przyjąć format DD-MON-YY
TO_NUMBER(ciąg) – zamiana ciągu znaków zawierających liczbę na daną typu NUMBER
Funkcje niezwiązane ze szczególnym typem danych
DECODE(kol|wyrażenie,szuk1,wynik,[szuk1,wynik2,...]wynik_domyślny) – umożliwia
warunkowa realizacje zapytań, gdyż działa na zasadzie rozkazu typu „ case ” czy „ if-then-else ”.
Kol/wyrażenie jest porównywane z szuk1 , szuk2 itd. W przypadku stwierdzenia równości z wartością szuk ,
zwracany będzie wynik będący dla niej parą ( wynik ). Jeśli nie stwierdzi się żadnej równości, podstawiony
będzie wynik_domyślny , o ile jest podany. Gdy nie jest podany, wartością funkcji będzie NULL.
NVL(kol|wyrażenie1,wyrażenie2) – zamiana wartości NULL, w kolumnie lub wyrażeniu na
wartość2, typy danych (pierwszego i drugiego argumentu) muszą być zgodne
GREATEST(kol|wartość1,kol|wartość2,...) – największa wartość z listy, przed porównaniem
następuje zamiana typu elementów listy zgodnie z typem pierwszego elementu
LEAST(kol|wartość1,kol|wartość2,...) – najmniejsza wartość z listy, przed porównaniem następuje
zamiana typu elementów listy zgodnie z typem pierwszego elementu
VSIZE(kol|wartość) – ilość bajtów, w których jest przechowywana przez Oracle zadana wartość
Funkcje grupowe
AVG([DISTINCT|ALL] n) – wartość średnia n, bez uwzględnienia wartości NULL
COUNT([DISTINCT|ALL] wyrażenie) – ilość wystąpień wartości wyrażenia różnych od NULL;
gwiazdka użyta w charakterze argumentu powoduje obliczenie ilości wszystkich wierszy, łącznie z
duplikatami i wartościami NULL
MAX([DISTINCT|ALL] wyrażenie) – maksymalna wartość
MIN([DISTINCT|ALL] wyrażenie) – minimalna wartość
STDDEV([DISTINCT|ALL] n) – odchylenie standardowe n, bez uwzględnienia wartości NULL
SUM([DISTINCT|ALL] n) – suma wartości, bez uwzględnienia wartości NULL
VARIANCE([DISTINCT|ALL] n) – wariancja n, bez uwzględnienia wartości NULL
Kwalifikator DISTINCT ogranicza działanie funkcji do różnych wartości argumentów grupy. Domyślnie
funkcje nie eliminują duplikatów wartości występujących w grupie. Użycie kwalifikatora ALL jest wiec
nieobowiązkowe.
Argumentami funkcji mogą być dane liczbowe, oraz w przypadku COUNT, MAX, MIN dane znakowe oraz
daty.
Zgłoś jeśli naruszono regulamin