Catégories :

Fonctions d’expressions conditionnelles

REGR_VALX

Renvoie NULL si le premier argument est NULL ; sinon, renvoie le second argument.

Notez que REGR_VALX est une fonction NULL de conservation, tandis que NVL est une fonction NULL de remplacement, plus largement utilisée.

Syntaxe

REGR_VALX( <y> , <x> )
Copy

Arguments

y :

Expression dont le type est DOUBLE ou qui peut être convertie en DOUBLE.

x :

Expression dont le type est DOUBLE ou qui peut être convertie en DOUBLE.

Important

Notez l’ordre des arguments ; y précède x.

Renvoie

Renvoie une valeur de type DOUBLE.

Exemples

Exemple de base :

SELECT REGR_VALX(NULL, 10), REGR_VALX(1, NULL), REGR_VALX(1, 10);
+---------------------+--------------------+------------------+
| REGR_VALX(NULL, 10) | REGR_VALX(1, NULL) | REGR_VALX(1, 10) |
|---------------------+--------------------+------------------|
|                NULL |               NULL |               10 |
+---------------------+--------------------+------------------+
Copy

Cet exemple est similaire à l’exemple précédent, mais montre plus clairement que la convention est de transmettre d’abord la valeur Y. Cela montre également la différence entre REGR_VALX et REGR_VALY :

CREATE TABLE xy (col_x DOUBLE, col_y DOUBLE);
INSERT INTO xy (col_x, col_y) VALUES
    (1.0, 2.0),
    (3.0, NULL),
    (NULL, 6.0);
Copy
SELECT col_y, col_x, REGR_VALX(col_y, col_x), REGR_VALY(col_y, col_x)
    FROM xy;
+-------+-------+-------------------------+-------------------------+
| COL_Y | COL_X | REGR_VALX(COL_Y, COL_X) | REGR_VALY(COL_Y, COL_X) |
|-------+-------+-------------------------+-------------------------|
|     2 |     1 |                       1 |                       2 |
|  NULL |     3 |                    NULL |                    NULL |
|     6 |  NULL |                    NULL |                    NULL |
+-------+-------+-------------------------+-------------------------+
Copy