- Categorias:
REGR_VALX¶
Retorna NULL se o primeiro argumento for NULL; caso contrário, retorna o segundo argumento.
Note que REGR_VALX é uma função que preserva NULL, enquanto que a NVL mais comumente utilizada é uma função que substitui NULL.
Sintaxe¶
REGR_VALX( <y> , <x> )
Argumentos¶
y
:Uma expressão que avalia como tipo
DOUBLE
ou que pode ser convertida emDOUBLE
.x
:Uma expressão que avalia como tipo
DOUBLE
ou que pode ser convertida emDOUBLE
.
Importante
Observe a ordem dos argumentos; y precede x.
Retornos¶
Retorna um valor do tipo DOUBLE
.
Exemplos¶
Exemplo básico:
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 | +---------------------+--------------------+------------------+
Este exemplo é semelhante ao exemplo anterior, mas mostra mais claramente que a convenção deve passar primeiro o valor Y
. Também mostra a diferença entre REGR_VALX e 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);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 | +-------+-------+-------------------------+-------------------------+