Wbudowane funkcje Oracle

Istnieją dwa rodzaje funkcji w Oracle.
1) Funkcje Row: Wiersz lub pojedyncze funkcje skalarne zwracają wartość dla każdego wiersza, który jest przetwarzany w kwerendzie.
2) Funkcje grupowe: Te grupy funkcje rzędy danych opartych na wartościach zwracanych przez kwerendę. Jest to omówione w funkcje grupy SQL. Funkcje grupy są wykorzystywane do obliczania wartości, takich jak agregacja lub całości średniej, które zwracają tylko jeden lub łącznie jedną wartość średnia po obróbce grupę rzędach.

Istnieją cztery rodzaje pojedynczych funkcji wierszy. Są to:
1) Funkcje numeryczne: Są to funkcje, które akceptują wejście numerycznej i powrotu wartości liczbowe.
2) Charakter i tekstowe Funkcje: Są to funkcje, które akceptują wejście znaków i mogą powrócić zarówno charakter i wartości liczbowych.
3) Data i funkcje: Są to funkcje, które mają wartości, które są od typu danych DATE jako wejście i powrót wartości DATE typu danych, z wyjątkiem funkcji MONTHS_BETWEEN, która zwraca liczbę.
4) Funkcje konwersji: Są to funkcje, które pomagają nam w konwersji wartości w jednej postaci w inną postać. Dla przykładu: wartość null do rzeczywistej wartości lub wartości z jednego typu danych na inny typ danych, jak NVL, TO_CHAR, TO_NUMBER, TO_DATE itp.

Można połączyć więcej niż jednej funkcji razem w wyrażeniu. Jest to znane jako zagnieżdżenia funkcji.

Co to jest DUAL tabeli w Oracle?
Jest to pojedynczy wiersz i kolumna manekina pojedynczy stół zapewnia Oracle. Służy do wykonywania obliczeń matematycznych bez używania tabeli.

Select * from DUAL

Wyjście:

ATRAPA
-------
X

Select 777 * 888 from Dual

Wyjście:

777 * 888
---------
689976

1) Funkcje numeryczne:

Funkcje numeryczne są wykorzystywane do wykonywania operacji na liczbach. Przyjmują wartości numeryczne, jak wejście i powrót wartości numeryczne jako wyjście. Kilka funkcji numerycznych są:

Function Name Return Value
ABS (x) Absolute value of the number 'x'
CEIL (x) Integer value that is Greater than or equal to the number 'x'
FLOOR (x) Integer value that is Less than or equal to the number 'x'
TRUNC (x, y) Truncates value of number 'x' up to 'y' decimal places
ROUND (x, y) Rounded off value of the number 'x' up to the number 'y' decimal places

Następujące przykłady opisano wykorzystanie powyższych funkcji liczbowych

Function Name Examples Return Value
ABS (x) ABS (1)
ABS (-1)
1
-1
CEIL (x) CEIL (2.83)
CEIL (2.49)
CEIL (-1.6)
3
3
-1
FLOOR (x) FLOOR (2.83)
FLOOR (2.49)
FLOOR (-1.6)
2
2
-2
TRUNC (x, y) ROUND (125.456, 1)
ROUND (125.456, 0)
ROUND (124.456, -1)
125.4
125
120
ROUND (x, y) TRUNC (140.234, 2)
TRUNC (-54, 1)
TRUNC (5.7)
TRUNC (142, -1)
140.23
54
5
140

Funkcje te mogą być stosowane kolumny w bazie danych.

Przykład: Rozważmy tabelę produkt używany w SQL łączy. Możemy użyć OKRĄGŁY zaokrąglić unit_price do najbliższej liczby całkowitej, jeśli produkt ma cenę w ułamku.

SELECT ROUND (unit_price) FROM product;

2) Charakter i tekstowe Funkcje:

Znaków lub tekstu funkcje są używane do manipulowania ciągi tekstowe. Przyjmują ciągi lub znaków na wejściu i może powrócić zarówno charakter i wartości liczbowych jako wyjście.

Niewielu z charakteru lub funkcji tekstowych są podane poniżej:

Function Name Return Value
LOWER (string_value) All the letters in 'string_value' is converted to lowercase.
UPPER (string_value) All the letters in 'string_value' is converted to uppercase.
INITCAP (string_value) All the letters in 'string_value' is converted to mixed case.
LTRIM (string_value, trim_text) All occurrences of 'trim_text' is removed from the left of 'string_value'.
RTRIM (string_value, trim_text) All occurrences of 'trim_text' is removed from the right of 'string_value' .
TRIM (trim_text FROM string_value) All occurrences of 'trim_text' from the left and right of 'string_value' , 'trim_text' can also be only one character long .
SUBSTR (string_value, m, n) Returns 'n' number of characters from 'string_value' starting from the 'm' position.
LENGTH (string_value) Number of characters in 'string_value' in returned.
LPAD (string_value, n, pad_value) Returns 'string_value' left-padded with 'pad_value' . The length of the whole string will be of 'n' characters.
RPAD (string_value, n, pad_value) Returns 'string_value' right-padded with 'pad_value' . The length of the whole string will be of 'n' characters.

Dla przykładu, możemy użyć powyższego upper () funkcję tekstową o wartości kolumny w następujący sposób.

SELECT UPPER (product_name) FROM product;

Następujące przykłady opisano użycie wyżej postaci lub funkcji tekstowych

Function Name Examples Return Value
LOWER(string_value) LOWER('Good Morning') good morning
UPPER(string_value) UPPER('Good Morning') GOOD MORNING
INITCAP(string_value) INITCAP('GOOD MORNING') Good Morning
LTRIM(string_value, trim_text) LTRIM ('Good Morning', 'Good) Morning
RTRIM (string_value, trim_text) RTRIM ('Good Morning', ' Morning') Good
TRIM (trim_text FROM string_value) TRIM ('o' FROM 'Good Morning') Gd Mrning
SUBSTR (string_value, m, n) SUBSTR ('Good Morning', 6, 7) Morning
LENGTH (string_value) LENGTH ('Good Morning') 12
LPAD (string_value, n, pad_value) LPAD ('Good', 6, '*') **Good
RPAD (string_value, n, pad_value) RPAD ('Good', 6, '*') Good**

3) Data i funkcje:

Są to funkcje, które mają wartości, które są od typu danych DATE jako wejście i powrót wartości typów danych DATA, z wyjątkiem funkcji MONTHS_BETWEEN, która zwraca liczbę jako wyjście.

Kilka funkcji daty podane są poniżej.

Function Name Return Value
ADD_MONTHS (date, n) Returns a date value after adding 'n' months to the date 'x'.
MONTHS_BETWEEN (x1, x2) Returns the number of months between dates x1 and x2.
ROUND (x, date_format) Returns the date 'x' rounded off to the nearest century, year, month, date, hour, minute, or second as specified by the 'date_format'.
TRUNC (x, date_format) Returns the date 'x' lesser than or equal to the nearest century, year, month, date, hour, minute, or second as specified by the 'date_format'.
NEXT_DAY (x, week_day) Returns the next date of the 'week_day' on or after the date 'x' occurs.
LAST_DAY (x) It is used to determine the number of days remaining in a month from the date 'x' specified.
SYSDATE Returns the systems current date and time.
NEW_TIME (x, zone1, zone2) Returns the date and time in zone2 if date 'x' represents the time in zone1.

Poniższa tabela zawiera przykłady powyższych funkcji

Function Name Examples Return Value
ADD_MONTHS ( ) ADD_MONTHS ('16-Sep-81', 3) 16-Dec-81
MONTHS_BETWEEN( ) MONTHS_BETWEEN ('16-Sep-81', '16-Dec-81') 3
NEXT_DAY( ) NEXT_DAY ('01-Jun-08', 'Wednesday') 04-JUN-08
LAST_DAY( ) LAST_DAY ('01-Jun-08') 30-Jun-08
NEW_TIME( ) NEW_TIME ('01-Jun-08', 'IST', 'EST') 31-May-08

4) Funkcje konwersji:

Są to funkcje, które pomagają nam w konwersji wartości w jednej postaci w inną postać. Ex: wartość null do rzeczywistej wartości lub wartości z jednego typu danych na inny typ danych, jak NVL, TO_CHAR, TO_NUMBER, TO_DATE.

Niektóre z funkcji konwersji dostępnych w Oracle:

Function Name Return Value
TO_CHAR (x [,y]) Converts Numeric and Date values to a character string value. It cannot be used for calculations since it is a string value.
TO_DATE (x [, date_format]) Converts a valid Numeric and Character values to a Date value. Date is formatted to the format specified by 'date_format'.
NVL (x, y) If 'x' is NULL, replace it with 'y'. 'x' and 'y' must be of the same datatype.
DECODE (a, b, c, d, e, default_value) Checks the value of 'a', if a = b, then returns 'c'. If a = d, then returns 'e'. Else, returns default_value.

Poniższa tabela zawiera przykłady powyższych funkcji

Function Name Examples Return Value
TO_CHAR () TO_CHAR (3000, '$9999')
TO_CHAR (SYSDATE, 'Day, Month YYYY')
$3000
Monday, June 2008
TO_DATE () TO_DATE ('01-Jun-08') 01-Jun-08
NVL () NVL (null, 1) 1