funkcje-sql, Kurs SQL
[ Pobierz całość w formacie PDF ]
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.
[ Pobierz całość w formacie PDF ]