Para evitar una columna en NULL, lo primero es no invocarla si no la vas a usar. Hacer un
SELECT * FROM ... es la peor forma de consulta si no vas a usar realmente TODAS las columnas. Y aún usándolas, si alguna de ellas puede ser NULL, lo que debes hacer es ponerlas todas en el SELECT, para poder administrar el problema.
La cosa es sencilla si usas la función IFNULL(). Supongamos tres campos, uno VARCHAR, uno FLOAT y uno INTEGER, que pueden entrar en NULL:
Código sql:
Ver originalSELECT
IFNULL(Campo1,'') Campo1,
IFNULL(Campo2,0.0) Campo2,
IFNULL(Campo3,0) Campo3
FROM Tabla1;
Estoy poniendo los alias a continuación para que los encabezados de las columnas vuelvan a ser los de la tabla. Sino el encabezado tendrá la forma de la función.
Obviamente, esto no sirve si no se ponen uno por uno los campos a usar...
La otra opción, es eliminar en el WHERE aquellos registros donde pueda darse en NULL:
Código sql:
Ver originalSELECT *
FROM Tabla1
WHERE
(Campo1 IS NOT NULL OR Campo2 IS NOT NULL OR Campo3 IS NOT NULL);
En este caso se le indica que esos registros no se los muestre.