siento "resucitar" este tema pero en google sale en los primeros resultados y le puede venir bien a mucha gente:
El equivalente en MySQL de NVL es IFNULL (del manual de MySQL):
Si expr1 no es NULL, IFNULL() retorna expr1, de otro modo retorna expr2. IFNULL() retorna un valor numérico o de cadena de caracteres, en función del contexto en que se usa.
Código:
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
El valor por defecto de retorno de IFNULL(expr1,expr2) es el más “general” de las dos expresiones, en el orden STRING, REAL, o INTEGER. Considere el caso de una tabla basada en expresiones o donde MySQL debe almacenar internamente un valor retornado por IFNULL() en una tabla temporal:
Código:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
En este ejemplo, el tipo de la columnatest es CHAR(4).