Oracle construit dans les fonctions

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

Il existe quatre types de fonctions d'une seule ligne. Ils sont:
1) Fonctions numériques: Ce sont des fonctions qui acceptent une 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 peuvent retourner à la fois caractère et des valeurs numériques.
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 type de données DATE, sauf pour la fonction MONTHS_BETWEEN, qui renvoie un nombre.
4) Fonctions de conversion: Ce sont des fonctions qui nous aident à convertir une valeur dans 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, etc TO_DATE

Vous pouvez combiner plusieurs fonctions dans la même expression. Ceci est connu comme l'imbrication de fonctions.

Qu'est-ce qu'un tableau DUAL Oracle?
Il s'agit d'une seule ligne et table unique colonne factice fourni par Oracle. Il est utilisé pour effectuer des calculs mathématiques sans l'aide d'un tableau.

Select * from DUAL

Sortie:

MANNEQUIN
-------
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 en 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 expliquent 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 pour arrondir le unit_price à l'entier le plus proche, si un produit a des prix en 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 à la fois caractère et les valeurs numériques en sortie.

Peu de caractère ou des fonctions de texte sont comme indiqué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 la colonne comme suit.

SELECT UPPER (product_name) FROM product;

Les exemples suivants expliquent l'utilisation du caractère ci-dessus ou des fonctions de texte

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 MONTHS_BETWEEN, qui renvoie un nombre en sortie.

Les fonctions de date peu sont aussi 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

4) Fonctions de conversion:

Ce sont des fonctions qui nous aident à convertir une valeur dans 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 dans l'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