La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

Fonctions investies que nous avons touchée un peu plus tôt, considérez-les maintenant un peu plus de détails. Nous examinerons également la fonction de travailler avec la valeur de NULL et des fonctions qui aident à mettre en œuvre l'opération de la succursale dans la demande.

Fonctions imbriquées

Fonctions imbriquées J'utilise la valeur renvoyée d'une fonction comme paramètre d'entrée pour une autre fonction. Les fonctions ne renvoient toujours qu'une seule valeur. Par conséquent, vous pouvez envisager le résultat de la fonction de la fonction sous forme de valeur littérale lorsque vous l'utilisez comme paramètre d'appel sur une autre fonction. Les fonctions de ligne peuvent être attachées à n'importe quel niveau de nidification. Appeler une fonction ressemble à

Fonction1 (paramètre1, paramètre2, ...) \u003d résultat

Remplacer le paramètre de fonction pour appeler une autre fonction peut entraîner l'apparition des espèces.

F1 (param1.1, F2 (param2.1, param2.2, F3 (param3.1)), param1.3)

Au début, les fonctions imbriquées sont calculées avant que leurs résultats soient utilisés comme valeurs d'entrée pour d'autres fonctions. Les fonctions sont calculées à partir du niveau le plus profond de la nidification au plus haut gauche. L'expression précédente est effectuée comme suit

  1. La figure F3 (param1) est calculée et la valeur de retour est utilisée comme troisième paramètre pour la fonction 2, appelons-le param2.3
  2. La fonction F2 est ensuite calculée (param1, param2.2, param2.3) et la valeur de retour est utilisée comme la fonction de deuxième paramètre F1 - param1.2.
  3. Enfin, la fonction F1 (param1, param2, param1.3) est calculée et le résultat est renvoyé au programme d'appel.

Ainsi, la fonction F3 est dans le troisième niveau de nidification.

Considérez la demande

select_day (last_day (sysdate) -7, 'mart') de Dual;

  1. Dans cette requête, trois fonctions, du niveau inférieur au sommet - Sysdate, Last_Day, Next_Day. La demande est effectuée comme suit.
  2. La fonction sysdate la plus imbriquée est effectuée. Il renvoie le temps système actuel. Supposons que la date actuelle du 28 octobre 2009
  3. Le résultat est le résultat de la deuxième fonction de niveau Last_Day. Last_Date ('28 -Oxt-2009 ') retourne le dernier jour d'octobre 2009, c'est-à-dire la valeur du 31 octobre 2009.
  4. Ensuite, la soustraction survient à partir de cette date de sept jours - il s'avère le 24 octobre.
  5. Et enfin, la fonction Next_Day ('24 -Oxt-2009 ',' TUE ') est calculée et la requête renvoie le mardi dernier octobre - que dans notre exemple 27 oct. 2009.

Il est assez difficile de comprendre et de construire des expressions complexes utilisant de nombreux défis liés aux fonctions, mais cela vient avec le temps et la pratique. Vous pouvez casser de telles expressions sur les pièces et tester séparément. La table Dual est très utile pour tester z.aprosov et les résultats de la fonction de la fonction. Vous pouvez tester et déboguer de petits composants, qui se combinent ensuite en une seule expression souhaitée.

Fonctions de branche

Les fonctions de branche, également connues comme si quelque chose - sinon, est utilisé pour déterminer le chemin de mise en œuvre en fonction de toutes circonstances. Les fonctions de ramification renvoient différents résultats basés sur aucun résultat de calcul de la condition. Le groupe de ces fonctions alloue des fonctions de travail avec la valeur de NULL: NVL, NVL2, NULLIF et COALACECE. Et aussi les caractéristiques communes représentées par la fonction de décodage et l'expression de cas. La fonction de décodage est une fonction Oracle, tandis que l'expression de cas est présente dans la norme ANSI SQL.

Caractéristique NVL

La fonction NVL vérifie la valeur de la colonne ou exprimant tout type de données à NULL. Si NULL - Il renvoie une autre valeur par défaut non nulle, sinon la valeur initiale est renvoyée.

La fonction NVL dispose de deux paramètres requis et de syntaxe NVL (original, ifnull) où l'original est la valeur d'origine pour la vérification et le résultat IFNULL renvoyé par la fonction si la valeur d'origine est null. Le type de données des paramètres IFNULL et d'origine doit être compatible. C'est-à-dire que le type de données doit être identique ou devrait être la possibilité d'une conversion implicite des valeurs d'un type à un autre. La fonction NVL renvoie la valeur du même type de données que le type de données du paramètre d'origine. Considérer trois demandes

Query 1: Sélectionnez NVL (1234) de Dual;

Query 2: Sélectionnez NVL (NULL, 1234) de Dual;

Query 3: Sélectionnez NVL (substrateur ('ABC', 4), «Aucun sous-chaîne n'existe») de Dual;

Étant donné que les fonctions NVL nécessitent deux paramètres, la requête 1 renvoie l'erreur ORA-00909: Nombre d'arguments invalide. La demande 2 retournera 1234 lorsque la valeur NULL est cochée et elle est null. La troisième question est utilisée une fonction de substration imbriquée qui tente de sélectionner le quatrième caractère à partir d'une chaîne de trois caractères de long, renvoie la valeur NULL et la fonction NVL renvoie la chaîne "Aucun" SBustring Existe 'String ".

La fonction NVL est très utile lorsque vous travaillez avec des chiffres. Il est utilisé pour convertir des valeurs nulles sur 0 afin que les opérations arithmétiques sur les chiffres ne soient pas retournées nulle.

Caractéristique NVL2

La fonctionnalité NVL2 offre plus de fonctionnement que NVL, mais sert également à traiter valeurs null. Il vérifie la valeur de la colonne ou des expressions de tout type à NULL. Si la valeur n'est pas égale à NULL, le deuxième paramètre est impliqué, sinon le troisième paramètre est renvoyé, contrairement à la fonction NVL, qui, dans ce cas, renvoie la valeur initiale.

La fonction NVL2 dispose de trois paramètres requis et de la syntaxe NVL2 (original, ifnot, ifnull), où l'original est une valeur valide, la valeur IFNotnull est renvoyée dans le cas d'origine n'est pas nulle et que IFNull est renvoyé dans le cas si l'original est NULL. Les types de données des paramètres IFNotNull et IFNULL doivent être compatibles et ils ne peuvent pas être de type long. Le type de données de la fonction renvoyée NVL2 est égal au type de données du paramètre ifnotnull. Considérer quelques exemples

Query 1: Sélectionnez NVL2 (1234, 1, «une chaîne») de Dual;

Query 2: Sélectionnez NVL2 (NULL, 1234, 5678) de Dual;

Query 3: Sélectionnez NVL2 (substrateur ('ABC', 2), 'PAS BC', 'Aucun sous-chaîne') de Dual;

Le paramètre ifnotnull dans la requête 1 est le numéro et le paramètre ifnull est une chaîne. Étant donné que les types de données sont incompatibles, l'erreur "ORA-01722: numéro non valide" est renvoyée. La file d'attente deux renvoie le paramètre if, puisque l'original est NULL et le résultat sera de 5678. La requête trois utilise la fonction substrative qui renvoie «BC» et appelez NVL2 ('BC »,« Pas de sous-chaîne ») - qui retourne paramètre ifnotnull - 'pas bc'.

Fonction NULLIF

La fonction NULLIF vérifie deux valeurs d'identité. S'ils sont identiques - NULL est retourné sinon le premier paramètre est renvoyé. La fonction NULLIF a deux paramètres obligatoires et syntaxe NULLIF (Ifunequal, comparaison_Item). La fonction compare deux paramètres et si elles sont identiques - NULL est renvoyée, sinon le paramètre ifunequal. Envisager des demandes

Query 1: Sélectionnez Nullif (1234, 1234) de Dual;

La demande que l'on renvoie NULL puisque les paramètres sont identiques. Les lignes de la requête 2 ne sont pas converties à la date, mais sont comparées à des lignes. Depuis les rangées de différentes longueurs - renvoie le paramètre ifunequal 24-Jul-2009.

Figure 10-4, la fonction NULLIF est investie dans la fonction NVL2. Dans la fonction NULLIF, à son tour, les substrations et les fonctions supérieures sont utilisées dans le cadre de l'expression du paramètre ifunequal. La colonne Email est comparée à cette expression qui renvoie la première lettre du nom, unis avec le nom de famille des employés qui ont un nom en 4 caractères. Lorsque ces valeurs sont égales, NULLIF retournera NULL, la valeur du paramètre ifunequal retournera la valeur. Ces valeurs sont utilisées comme paramètre pour la fonction NVL2. NVL2 À son tour, renvoie la description de la question de savoir si les éléments compatibles coïncidaient ou non.

Figure 10-4 - Utilisation de la fonction NULLIF

Fonction de coalesce

La fonction de coalesce renvoie la première valeur non égale à NULL à partir de la liste des paramètres. Si tous les paramètres sont nuls, NULL est renvoyé. La fonction de regroupement comporte deux paramètres requis et le nombre de paramètres facultatifs et de la syntaxe de coalesce (EXPR1, EXPR2, ..., EXPRN) où le résultat est EXPR1 si la valeur de EXPR 1H , sinon le résultat sera expr2 s'il n'est pas nul , etc. Regrouper est également en sens des fonctions NVL

Coalesce (EXPR1, EXPR2) \u003d NVL (EXPR1, EXPR2)

Coalesce (EXPR1, EXPR2, EXPR3) \u003d NVL (EXPR1, NVL (EXPR2, EXPR3))

Type de données Valeur de retour Si la valeur NULL NULL NULL est égale au type de données de la première valeur NOT NULL. Afin d'éviter l'erreur 'ORA-00932: Types de données incohérents ", tous les paramètres non nuls doivent être compatibles avec le premier paramètre Not Null. Considérer trois exemples

Query 1: Sélectionnez Coalesce (, , , "une chaîne") de double;

Query 2: Sélectionnez Coalesce (NULL, NULL, NULL) de Dual;

Query 3: Sélectionnez Coalescée (substrat ('ABC', 4), 'PAS BC', 'Aucun sous-chaîne') de Dual;

Demande 1 Retourne le quatrième paramètre: chaîne, car il s'agit du premier paramètre NULL. La requête deux retourne null car tous les paramètres sont nuls. La demande 3 calcule le premier paramètre, obtient la valeur null et renvoie le deuxième paramètre, car il s'agit du premier paramètre NULL NULL.

Les paramètres de fonction NVL2 peuvent confondre si vous connaissez déjà la fonction NVL. NVL (original, ifnull) renvoie l'original si la valeur n'est pas nulle, sinon ifnull. NVL2 (original, ifnot, ifnull) renvoie ifnotnull si la valeur d'origine n'est pas égale à NULL autre que ifnull. La confusion se produit en raison du fait que le deuxième paramètre de la fonction NVL If, alors que le NVL2 est ifnotnull. Alors n'espère pas positionner le paramètre dans la fonction.

Caractéristique de décodage

La fonction de décodage implémente si, alors, une logique d'autre. Vérification des deux premiers paramètres par égalité et renvoyer la troisième valeur en cas d'égalité ou d'une autre valeur en cas d'inégalité. La fonction de décodage comporte trois paramètres requis et décodage de syntaxe (EXPR1, Comp1, iftrue1 ,,,). Ces paramètres sont utilisés comme indiqué dans l'exemple pseudo-code suivant.

Si EXPR1 \u003d Comp1, renvoyez Iftrue1

Sinon si expr1 \u003d comp2, returnez iftrue2

Sinon si exprn \u003d compn revenait alors sitruen

Sinon retourner null | iffalse;

Au début, EXPR1 est comparé à Comp1. S'ils sont égaux à la valeur de iftrue1. Si EXPR1 n'est pas égal à Comp1, ce qui se passe en outre dépend de la spécification des paramètres de la Comp2 et de l'iftrue2. Si les ensembles sont définis, la valeur EXPR1 est comparée à la Comp2. Si les valeurs sont égales, si iftrue2 est renvoyé. Sinon, s'il y a des paires de paramètres Compn, IFtruen compare EXPR1 et Compn et si IFtruen est renvoyé en cas d'égalité. S'il n'y avait aucune coïncidence dans aucun ensemble de paramètres, il est renvoyé si si ce paramètre était défini ou null.

Tous les paramètres de la fonction de décodage peuvent être des expressions. Le type de valeur retournée est égal au type du premier élément de contrôle - le paramètrecOMP 1. Expression Expr 1 implicitement converti au type de données du paramètre COMP1. Tous les autres paramètres disponibles Compression1 ... compn. Également converti implicitement en type COMP1. Decode considère que la valeur nulle est égale à une autre valeur , c'est-à-dire Si EXPR1 est NULL et Comp3 est NULL, et Comp2 n'est pas , la valeur IFTRUE3 est renvoyée. Considérer quelques exemples

Query 1: Sélectionnez le décodage (1234, 123, '123 est une correspondance') de double;

Query 2: Sélectionnez Decode (1234, 123, '123 est une correspondance »,« Pas de match ») de Dual;

Query 3: Sélectionnez décodage ("Recherche", "Comp1", "true1", 'comp2', 'true2', "recherche", 'true3', substr ('2Search', 2, 6), 'true4', ' faux ') de double;

La demande que l'on compare la valeur de 1234 et 123. Étant donné qu'elles ne sont pas égales, Iftrue1 est ignorée et qu'elle n'est pas définie si Null est renvoyé. La requête est identique à la requête 1, l'exception que la valeur Iffalse est définie. Depuis 1234 n'est pas égal à 123, Iffalse est renvoyé - "Pas de match". La requête trois vérifie les valeurs de paramètre sur la correspondance de la valeur de recherche. Les paramètres de Comp1 et Comp2 ne sont pas égaux à la "recherche", les résultats de iftrue1 et iftrue2 sont ignorés. La coïncidence se trouve dans la troisième comparaison de comparaison de l'élément Comp3 (position du paramètre 6) et la valeur iftrue3 (paramètre 7) est renvoyée qui est «true3». Depuis que la coïncidence est trouvée, plus de calculs ne sont pas faits. C'est-à-dire que, malgré le fait que la valeur de Comp4 (paramètre 8) coïncide également avec EXPR1 - cette expression n'est jamais calculée car la coïncidence a été trouvée dans la comparaison précédente.

Expression de cas

Tous les langages de programmation de troisième et quatrième génération mettent en œuvre la conception de cas. Comme la fonction de décodage, l'expression de cas vous permet de mettre en œuvre si-else logique. Deux options d'utilisation de l'expression de cas sont disponibles. L'expression de cas simple définit l'élément source à comparer une fois, puis répertorie tout les conditions nécessaires Chèques. Le cas complexe (recherché) calcule les deux opérateurs pour chaque condition.

L'expression de cas a trois paramètres obligatoires. La syntaxe de l'expression dépend du type. Pour un cas simple d'expression, il ressemble à

Casearch_expr.

Quand comparaison_expr1 alors iftrue1

)

La fonction Trunc renvoie le nombre N tronqué à M signes après le point décimal. Le paramètre M peut ne pas être indiqué - dans ce cas, n tronqué à l'ensemble.

Sélectionnez Trunc (100.25678) X1, Trunc (-100.25678) x2, Trunc (100.99) x3,

Trunc (100.25678, 2) x4

De Dual

Signe (n) fonction

La fonction de signe détermine le nombre de chiffres. Si N est positif, la fonction renvoie 1. Si le négatif est renvoyé -1. Si zéro est zéro, alors 0 est renvoyé. Par exemple:

Sélectionnez Signe (100.22) X1, signe (-100.22) x2, signe (0) x3

De Dual

Une caractéristique intéressante de cette fonctionnalité est la possibilité de transmettre M égal à zéro - il ne provoque pas les erreurs de division de 0.

Fonction de puissance (n, m)

La fonction de puissance construit le nombre n au degré m. Le degré peut être fractionnel et négatif, qui élargit considérablement les capacités de cette fonction.

Sélectionnez Alimentation (10, 2) X1, Power (100, 1/2) X2,

Pouvoir (1000, 1/3) x3, puissance (1000, -1/3) x4

De Dual

X1 X2 X3. X4.
100 10 10 0,1

Dans certains cas, lors de l'appel de cette fonctionnalité, une exception peut se produire. Par example:

Sélectionnez Puissance (-100, 1/2) x2

De Dual

Dans ce cas, une tentative est faite pour calculer la racine carrée de nombre négatifCela aboutira à une erreur ORA-01428 "en dehors de la plage".

Fonction SQRT (N)

Cette fonctionnalité Retourne la racine carrée du nombre N. Par example:

Sélectionnez SQRT (100) x

De Dual

Fonctions exp (n) et ln (n)

La fonction EXP ère E au degré n et la fonction LN calcule le logarithme naturel de N (avec n, n doit être supérieur à zéro). Exemple:

Sélectionnez Exp (2) x1, ln (1) x2, ln (exp (2)) x3

Caractéristique NVL

La fonction NVL est généralement appliquée le plus souvent. La fonction reçoit deux paramètres: NVL (EXPR1, EXPR2). Si le premier paramètre EXPR1 n'est pas égal à NULL, la fonction renvoie sa valeur. Si le premier paramètre NULL, la fonction renvoie la valeur du deuxième paramètre EXPR2.

Considérer exemple pratique. Le champ COMM dans la table EMP peut contenir des valeurs nulles. Lorsque vous effectuez une requête de la forme:

Sélectionnez EMPNO, ENAME, COMM, NVL (COMM, 0) NVL_COMM

De scott.emp

la valeur null sera remplacée par zéro. Veuillez noter que dans le cas de la formation de la valeur à l'aide de la fonction, il est attribué à un pseudonyme. Les résultats de la demande seront les suivants:

EMPNO. Ename. Comm. Nvl_comm
7369 Forgeron 0
7499 Allen 300 300
7521 salle 500 500
7566 Jones 0
7654 Martin. 1400 1400
7698 Blake 0
7782 Clark. 0
7839 Roi. 0
7844 Tourneur 0 0
7900 James. 0
7902 Gué 0
7934 Meunier 0

CEIL (N)

La fonction CEIL renvoie le plus petit entier, supérieur ou égal au nombre de N. Par example:

Sélectionnez CEIL (100) X1, CEIL (-100) X2, CEIL (100.2) X3, CEIL (-100,2) x4

De Dual

Trunc fonction (n [, m])

La fonction Trunc renvoie le nombre N tronqué à M signes après le point décimal. Le paramètre M peut ne pas être indiqué - dans ce cas, n tronqué à l'ensemble.

Sélectionnez Trunc (100.25678) X1, Trunc (-100.25678) x2, Trunc (100.99) x3,

Trunc (100.25678, 2) x4

De Dual

Signe (n) fonction

La fonction de signe détermine le nombre de chiffres. Si N est positif, la fonction renvoie 1. Si le négatif est renvoyé -1. Si zéro est zéro, alors 0 est renvoyé. Par exemple:

Sélectionnez Signe (100.22) X1, signe (-100.22) x2, signe (0) x3

De Dual

Une caractéristique intéressante de cette fonctionnalité est la possibilité de transmettre M égal à zéro - il ne provoque pas les erreurs de division de 0.

Fonction de puissance (n, m)

La fonction de puissance construit le nombre n au degré m. Le degré peut être fractionnel et négatif, qui élargit considérablement les capacités de cette fonction.

Sélectionnez Alimentation (10, 2) X1, Power (100, 1/2) X2,

Pouvoir (1000, 1/3) x3, puissance (1000, -1/3) x4

De Dual

X1 X2 X3. X4.
100 10 10 0,1

Dans certains cas, lors de l'appel de cette fonctionnalité, une exception peut se produire. Par example:

Sélectionnez Puissance (-100, 1/2) x2

De Dual

Dans ce cas, une tentative est faite pour calculer une racine carrée d'un nombre négatif, ce qui entraînera une erreur ORA-01428 "en dehors de la plage".

Fonction SQRT (N)

Cette fonction renvoie une racine carrée du numéro N. Par example:

Sélectionnez SQRT (100) x

De Dual

Fonctions exp (n) et ln (n)

La fonction EXP ère E au degré n et la fonction LN calcule le logarithme naturel de N (avec n, n doit être supérieur à zéro). Exemple:

Sélectionnez Exp (2) x1, ln (1) x2, ln (exp (2)) x3

Fonction to_char avec des chiffres

Fonctions de conversion de données sur d'autres types de données. To_char (numéro) convertit un numéro en texte. To_number convertit le texte au numéro.

Sélectionnez TO_CHAR (123) à partir de Dual retournera la ligne 123, sélectionnez TO_Number (`12345») à partir de Dual retournera le numéro 12345.

Travail de laboratoire. Changer le format des numéros de sortie

Modifications du format de valeurs numériques dans Oracle SQL, la fonction TO_CHAR pour fonctionner avec des valeurs numériques.

La tâche:

Ecrivez une demande qui afficherait des informations sur le nom, le nom de famille et le salaire des employés de la table HR.Employées du format montré à la Fig. 3.4-1:

Figure. 3.4. -1

Dans le même temps, les données doivent être triées de manière à ce que les lignes des employés avec le plus grand salaire soient d'abord affichées.

Noter:

Certains salaires de la Fig. 3.4-1 ont été modifiés, ils peuvent donc ne pas coïncider avec vos valeurs.

Décision:

Sélectionnez First_Name comme "Nom", nom_tName comme "nom de famille", to_char (salaire, "l999999999.99") comme "salade" de hr.employen ordre par salaire desc.

Fonctions to_number et to_date

Fonction de conversion de ligne à la date T_Date (chaîne, format). Les formats possibles sont déjà considérés ci-dessus, je vais donc donner quelques exemples d'utilisation de cette fonction. Exemples:

SÉLECTIONNER To_date (01.01.2010, `dd.mm.yyyyy) De. Dual retournera la date `01.01.2010";

SÉLECTIONNER To_date (01.jan.2010, `dd.mon.yyyyy) De. Dual retournera la date `01.01.2009";

SÉLECTIONNER To_date ("15-01-10", `dd-mm-yy") De. Dual retournera la date "01/15/2010".

Fonction de conversion de ligne sur la valeur numérique TO_NIGH (chaîne, format). Les formats les plus courants sont répertoriés dans le tableau, alors envisagez l'utilisation de cette fonction sur les exemples. Exemples:

SÉLECTIONNER To_number (`100") De. Dual retournera le numéro 100 Select to_number (`0010.01," 9999D99) De. Dual reviendra le numéro 10.01;

SÉLECTIONNER To_number ("500 000", "999g999") De. Dual retournera le nombre 500000.

Elément RR en format des dates

L'élément du format RR de la date et de l'heure est similaire à celui du format de la date et du format horaire YY, mais il fournit une flexibilité supplémentaire pour stocker les valeurs de date et d'autres siècles. Un élément des dates de RR et le format de temps vous permet de stocker les dates du XXe siècle au XXIe siècle, indiquant uniquement les deux derniers chiffres de l'année.

Si les deux derniers chiffres de l'année en cours sont 00 à 49, l'année de retour a les mêmes deux premiers chiffres que dans l'année en cours.

Si les deux dernières figures de l'année en cours de 50 à 99, les 2 premiers chiffres de l'année retournée sont de plus de plus que dans les 2 premiers chiffres de l'année en cours.

Si les deux derniers chiffres de l'année en cours sont 00 à 49, les 2 premiers chiffres de l'année retournée sont de moins de 2 premiers chiffres de l'année en cours.

Si les deux dernières figures de l'année en cours de 50 à 99, l'année renvoyée a les mêmes deux premiers chiffres que dans l'année en cours.

Caractéristique NVL

La fonction NVL est généralement appliquée le plus souvent. La fonction reçoit deux paramètres: NVL (EXPR1, EXERG2). Si le premier paramètre EXPR1 n'est pas égal à NULL, la fonction renvoie sa valeur. Si le premier paramètre NULL, la fonction renvoie la valeur du deuxième paramètre de l'EXERG2.

Exemple: sélectionnez NVL (fournisseur_cité, N / A ") des fournisseurs:

L'instruction SQL retournera n / "si le champ fournisseur_cité contient une valeur zéro. Sinon, il retournera la valeur fournisseur_cité.

Un autre exemple d'utilisation de la fonction NVL dans Oracle / Plsql est:

sélectionnez Supplier_id, NVL (fournisseur_desc, fournisseur) des fournisseurs.

Cette application SQL reviendra nom du fournisseur. Champ, si fournisseur_desc. contient une valeur zéro. Sinon, il reviendra fournisseur_desc..

Dernier exemple: l'utilisation de la fonction NVL dans Oracle / PlsQL est la suivante: Sélectionnez NVL (Commission, 0) des ventes;

Cette déclaration SQL est revenue à 0 si commission Le champ contient une valeur zéro. Sinon, il serait possible de revenir commission domaine.

Conversion NVL pour différents types de données

Pour convertir une valeur indéfinie en fonction réelle, la fonction NVL est utilisée: Nvl ( expression1, expression 2), où:

expression1- Source ou valeur calculée pouvant être incertaine.

expression2. - une valeur substituée au lieu d'une valeur indéfinie.

Noter: La fonction NVL peut être utilisée pour convertir tout type de données, mais le résultat sera toujours le même type que possible. expression1.

Transformation NVL pour différents types:

Nombre - NVL. (colonne numérique, 9).

Char ou Varchar2 - NVL (Symboles | colonne, "Indisponible").

Travail de laboratoire. Application de la fonction NVL

Caractéristique NVL pour travailler avec des valeurs incertaines dans Oracle SQL.

La tâche:

Ecrivez une demande qui affiche des informations sur le nom et le nom de famille du personnel de la table HR.employoployés., Ainsi que l'offre de la Commission (Colonne Commission_PCCT) pour l'employé. Dans le même temps, pour les employés pour lesquels la Commission n'est pas définie, il est nécessaire d'afficher une valeur de 0. Le résultat de la requête doit être tel que présenté à la Fig. 3.5-1.

Figure. 3.5 -1 (Les valeurs commencent à partir de la ligne 51)

Décision:

Le code de la demande correspondante peut être:

Sélectionnez First_Name comme «Nom», Last_Name comme «Nom de famille», NVL (Commission_pct, 0) en tant que «taux de commission» de HR.employés.

La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam