Kategorien:

Funktionen für bedingte Ausdrücke

REGR_VALX

Gibt NULL zurück, wenn das erste Argument NULL ist, andernfalls wird das zweite Argument zurückgegeben.

Beachten Sie, dass REGR_VALX eine NULL-erhaltende Funktion ist, während die häufig verwendete Funktion NVL eine NULL-ersetzende Funktion ist.

Syntax

REGR_VALX( <y> , <x> )
Copy

Argumente

y:

Ein Ausdruck, der in den Typ DOUBLE ausgewertet wird oder in DOUBLE umgewandelt werden kann.

x:

Ein Ausdruck, der in den Typ DOUBLE ausgewertet wird oder in DOUBLE umgewandelt werden kann.

Wichtig

Beachten Sie die Reihenfolge der Argumente: y steht vor x.

Rückgabewerte

Gibt einen Wert vom Typ DOUBLE zurück.

Beispiele

Grundlegendes Beispiel:

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

Dieses Beispiel ähnelt dem vorherigen Beispiel, zeigt jedoch deutlicher, dass die Konvention darin besteht, zuerst den Y-Wert zu übergeben. Dies macht auch den Unterschied zwischen REGR_VALX und REGR_VALY deutlich:

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