2010-08-20 1031 views

Respuesta

43

Sí, mediante el uso de COALESCE.

SELECT COALESCE(null_column, 0) AS null_column FROM whatever;

COALESCE revisa la lista de valores que le da y devuelve el primer valor no nulo.

+3

+1: 'COALESCE' es ANSI, compatible con SQL Server 2000+, Oracle 9i +, MySQL 4.1+, no es la versión de PostgreSQL o SQLite ... –

+1

MySQL se menciona en el título. Agregué una etiqueta para eso. – RedFilter

+1

Creo que cada DB 3VL con una interfaz SQL admite 'coalesce()'. Caso y punto, [estaba en MySQL 3.23] (http://www.norrnod.se/norrnod/dokumentation/mysql/3.23.45/manual_toc.html#Comparison_Operators) que está más cerca de la parte inferior del barril que puedes obtener. –

4

No es el COALESCE método que devuelve el primer parámetro no es nulo, en su caso:

COALESCE(field, 0) 

pero se puede usar esta opción si desea más:

COALESCE(field1, field2, 0) 
2

MySQL:

SELECT COALESCE(Mycolumn, 0); 
33

Estoy añadiendo esta respuesta porque nadie mencionó IFNULL función

Usted puede utilizar IFNULL

SELECT IFNULL(column_name, 0) FROM table_name; 

IFNULL devolverá el valor de la columna (si tiene algo diferente de NULL) de lo contrario, el segundo parámetro pasado (en este caso 0).

+0

Gracias, corre perfecto en mysql. – iarroyo