11 Voto

MySQL: Cómo verificar si un campo es NULL o vacío

Pregunta de Invitado | 04/05/2020 a las 09:48

¿Alguien sabe alguna manera en MySQL para verificar si un campo arbitrario de una tabla contiene un valor vacío (cadena vacía) o es NULL?

He intentado algunas cosas con IFNULL y enfoques similares, pero no tuve éxito. ¿Hay algún truco? ¿Qué debo tener en cuenta?

ResponderPositivoNegativoFechaVotos
1Mejor Respuesta1 Voto

Si desea leer todos los registros de datos de una tabla que contiene una cadena vacía o NULL como valor en una columna específica, puede usar la siguiente consulta:

SELECT * FROM tab WHERE col IS NULL OR col = ''

Con "IS NULL", puede comprobar NULL, con "= ''", puede verificar una cadena vacía.

Si está buscando todos los conjuntos de datos donde el campo no es NULL y no está vacío, puede usar la siguiente consulta en su lugar:

SELECT * FROM tab WHERE col IS NOT NULL AND col != ''

Si desea utilizar una condición IF para ello, puede escribirlo así, por ejemplo:

SELECT IF(col IS NULL OR col = '', 'vacío', col) FROM tab

Con esta consulta, está verificando en cada conjunto de datos si "col" es NULL o está vacío y, dependiendo del resultado de esta condición, se devuelve la cadena "vacía" en caso de que la condición sea true o el contenido de la columna sea devuelto si no. 
05/05/2020 a las 20:30

ResponderPositivo Negativo
11 Voto

Lo siguiente es más eficiente para encontrar campos vacíos:

SELECT * FROM tab WHERE col > '';

06/05/2020 a las 22:10

Positivo Negativo
Responder
22 Votos

También puede usar la función IFNULL():

1. SELECT IFNULL(1,0); -- devuelve 1

2. SELECT IFNULL('',1); -- devuelve ''

3. SELECT IFNULL(NULL,'IFNULL function'); -- devuelve "IFNULL function"
08/05/2020 a las 12:25

ResponderPositivo Negativo
Responder

Temas Relacionados

MySQL: SELECT 0 en lugar de NULL

Pregunta | 4 Respuestas

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.