Oracle construit dans les fonctions

Il existe deux types de fonctions dans Oracle.
1) Fonctions d'une seule ligne: Une rangée ou des fonctions scalaires renvoient une valeur pour chaque ligne qui est traitée dans une requête.
2) Fonctions Groupe: Ces fonctions groupe les lignes de données basées sur les valeurs renvoyées par la requête. Cette question est examinée dans les fonctions SQL GROUP. Les fonctions du groupe sont utilisés pour calculer les valeurs agrégées comme totale ou moyenne, qui renvoient simplement une totale ou une valeur moyenne après le traitement d'un groupe de lignes.

Il ya quatre types de fonctions à une rangée. Ils sont:
1) Fonctions numériques: Ce sont des fonctions qui acceptent entrée numérique et renvoient des valeurs numériques.
2) caractère ou texte Fonctions: Ce sont des fonctions qui acceptent la saisie de caractères et peut retourner deux valeurs de caractères et le nombre.
3) Fonctions de date: Ce sont des fonctions qui prennent des valeurs qui sont de type de données DATE comme valeurs de type de données DATE entrée et de retour, sauf pour la fonction de MONTHS_BETWEEN, qui renvoie un nombre.
4) Fonctions de conversion: Ce sont des fonctions qui nous aident à convertir une valeur sous une forme à une autre forme. Par exemple: une valeur nulle dans une valeur réelle, soit une valeur d'un type de données à un autre type de données comme NVL, TO_CHAR, TO_NUMBER, TO_DATE etc.

Vous pouvez combiner plusieurs fonctions ensemble dans une expression. Ceci est connu comme l'imbrication de fonctions.

Qu'est-ce qu'un tableau DUAL dans Oracle?
Ce est une seule rangée et table unique colonne de fictif fourni par Oracle. Il est utilisé pour effectuer des calculs mathématiques sans utiliser une table.

Select * from DUAL

Sortie:

DUMMY
-------
X

Select 777 * 888 from Dual

Sortie:

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

1) Fonctions numériques:

Fonctions numériques sont utilisés pour effectuer des opérations sur les nombres. Ils acceptent des valeurs numériques en entrée et renvoient des valeurs numériques comme sortie. Peu de fonctions numériques sont:

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

Les exemples suivants explique l'utilisation des fonctions numériques ci-dessus

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

Ces fonctions peuvent être utilisées sur des colonnes de base de données.

Par exemple: Prenons le tableau des produits utilisés dans les jointures SQL. Nous pouvons utiliser ROUND d'arrondir l'unit_price à l'entier le plus proche, si un produit a des prix dans la fraction.

SELECT ROUND (unit_price) FROM product;

2) caractère ou texte Fonctions:

fonctions de caractères ou de texte sont utilisés pour manipuler des chaînes de texte. Ils acceptent des chaînes ou des caractères en entrée et peuvent retourner les deux valeurs de caractères et le nombre en sortie.

Peu de fonctions de caractères ou de texte sont tels que donnés ci-dessous:

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.

Par exemple, nous pouvons utiliser la UPPER () fonction de texte ci-dessus avec la valeur de colonne comme suit.

SELECT UPPER (product_name) FROM product;

Les exemples suivants explique l'utilisation des fonctions de caractères ou de texte ci-dessus

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) Fonctions de date:

Ce sont des fonctions qui prennent des valeurs qui sont de type de données DATE en entrée et renvoient des valeurs de types de données DATE, sauf pour la fonction de MONTHS_BETWEEN, qui renvoie un nombre en sortie.

Les fonctions de date sont que quelques donnés ci-dessous.

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.

Le tableau ci-dessous fournit des exemples pour les fonctions ci-dessus

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

Quatre) Fonctions de conversion:

Ce sont des fonctions qui nous aident à convertir une valeur sous une forme à une autre forme. Ex: une valeur nulle dans une valeur réelle, soit une valeur d'un type de données à un autre type de données comme NVL, TO_CHAR, TO_NUMBER, TO_DATE.

Peu de fonctions de conversion disponibles sur Oracle sont:

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.

Le tableau ci-dessous fournit des exemples pour les fonctions ci-dessus

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