Salta el contingut

Consultes senzilles - Funcions de Tractament de NULLs

https://mariadb.com/kb/en/control-flow-functions/

NULLIF

NULLIF compara dues expressions i:

  • si són iguals retorna NULL

  • Si no són iguals retorna la primera expressió

La sintaxis és:

NULLIF(primera_expressió, segona_expressió)

Exemple NULLIF

Exemple NULLIF
SELECT LAST_NAME, FIRST_NAME,
       NULLIF(LENGTH(LAST_NAME),
              LENGTH(FIRST_NAME)) NullIf
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 60;
+-----------+------------+--------+
| LAST_NAME | FIRST_NAME | NullIf |
+-----------+------------+--------+
| Hunold    | Alexander  |      6 |
| Ernst     | Bruce      |   NULL |
| Lorentz   | Diana      |      7 |
+-----------+------------+--------+

COALESCE

COALESCE és una extensió de la funció IFNULL / NVL excepte que pot tenir varis valors i retorna el primer que no és NULL.

La sintaxis és:

COALESCE(expr_1, expr_2, expr_3, ... expr_n)

Exemple COALESCE

Exemple COALESCE
SELECT COALESCE(NULL, NULL, NULL, NULL, 5) C1,
       COALESCE(NULL, NULL, 3, NULL, 5) C2,
       COALESCE(NULL, NULL, NULL, NULL, NULL) C3;
+------+------+------+
| C1   | C2   | C3   |
+------+------+------+
|    5 |    3 | NULL |
+------+------+------+