Curso de MySQL
Consultas, lista de correo 'C++ Con Clase' 'MySQL Con Clase' página de entrada Tabla de contenido Contactar con Webmaster
Curso Sentencias Funciones API C

SQL

Funciones

Matemáticas Tiempo ADDDATE ADDTIME CONVERT_TZ CURDATE CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURTIME DATE DATEDIFF DATE_ADD DATE_FORMAT DATE_SUB DAY DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR EXTRACT FROM_DAYS FROM_UNIXTIME GET_FORMAT HOUR LAST_DAY LOCALTIME LOCALTIMESTAMP MAKEDATE MAKETIME MICROSECOND MINUTE MONTH MONTHNAME NOW PERIOD_ADD PERIOD_DIFF QUARTER SECOND SEC_TO_TIME STR_TO_DATE SUBDATE SUBTIME SYSDATE TIME TIMEDIFF TIMESTAMP TIMESTAMPADD TIMESTAMPDIFF TIME_FORMAT TIME_TO_SEC TO_DAYS UNIX_TIMESTAMP UTC_DATE UTC_TIME UTC_TIMESTAMP WEEK WEEKDAY WEEKOFYEAR YEAR YEARWEEK Cadena Conversión Control de Flujo Encriptado Información Genéricas GROUP BY

IFNULL

IFNULL(expr1,expr2)

Si expr1 no es NULL, IFNULL() devuelve expr1, en caso contrario, devuelves expr2. IFNULL() devuelve un valor numérico o una cadena, dependiendo del contexto en el que se use.

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'

En MySQL 4.0.6 y posteriores, el valor de resultado por defecto de IFNULL(expr1,expr2) es la más "general" de las dos expresiones, en el orden STRING, REAL o INTEGER. La diferencia con versiones de MySQL anteriores es generalmente más notable cuando se crea una tabla basada en expresiones o MySQL no almacena internamente el valor de un IFNULL() en una tabla temporal.

CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;

Desde MySQL 4.0.6, el tipo para la columna 'test' es CHAR(4), mientras que en versiones anteriores el tipo sería BIGINT.