Commandes SQL


Oracle Construit en fonctions

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

Il existe quatre types de fonctions de ligne unique. Elles sont:
1) numériques Fonctions: 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 peut renvoyer les deux valeurs de caractères et le nombre.
3) Fonctions de date: Ce sont des fonctions qui prennent des valeurs qui sont des datatype DATE comme valeurs de type de données DATE d'entrée et de retour, à l'exception de la fonction 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 des fonctions.

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

Select * from DUAL

Sortie:

MANNEQUIN
-------
X

Select 777 * 888 from Dual

Sortie:

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

1) numériques Fonctions:

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 dans les colonnes de la base.

Exemple: Considérons la table de produit utilisé dans sql rejoint. Nous pouvons utiliser ROUND pour arrondir le 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ère 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 la colonne comme suit.

SELECT UPPER (product_name) FROM product;

Les exemples suivants expliquent 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 des datatype DATE en entrée et renvoient des valeurs de types de données DATE, à l'exception de 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 les 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 sous une forme à une autre forme. Pour 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 les 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

Marquer cette page