Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mostrar solo NULL

Estas en el tema de Mostrar solo NULL en el foro de Mysql en Foros del Web. Hola Compañeros, Como puedo hacer para mostrar solo campos vacios, me explico Tabla 1 cod | cantidad | entrega 1 | 10 | 9 2 ...
  #1 (permalink)  
Antiguo 05/10/2011, 07:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 132
Antigüedad: 15 años
Puntos: 8
Mostrar solo NULL

Hola Compañeros,

Como puedo hacer para mostrar solo campos vacios, me explico

Tabla 1

cod | cantidad | entrega
1 | 10 | 9
2 | 50 |
3 | 5 |
4 | 10 | 10

Por ejemplo, si tengo esta tabla 1, y ella un cod, cantidad y entrega, necesito que me muestre solo los registros 2 y 3, ya que son los vacios (NULL) en el campo entrega, como podria hacer para que al generar la consulta me muestre esos dos, no los que estan llenos.

Probe en la condición y no me resulto, la genere asi: WHERE entrega = 'NULL', y también WHERE entrega = ' ', por favor si la hice mal me corrigen.

Les agradezco su ayuda.
  #2 (permalink)  
Antiguo 05/10/2011, 07:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mostrar solo NULL

Las preguntas sobre NULL son algo recurrente, y las respuesta tiende a ser siempre la misma. Te sugiero usar el buscador del Foro antesque nada.

El tema es así: NULL no es un dato, es un estado. Como no es un dato, no pueden usarse con el operadores lógicos porque un operador analiza DATOS, y NULL es en realidad un puntero a la nada o un estado de indeterminación. Como la nada o es analizable y la indeterminaciones tampoco, no se puede operar de la forma que lo haces.

De todos modos hay funciones que permiten establecer ese estado. Lo que debes hacer es tan simple como :
Código MySQL:
Ver original
  1. SELECT cod, cantidad, entrega
  2. FROM tabla1
  3. WHERE entrega IS NULL;

Ahora bien, ten en cuenta que NULL no es lo mismo que vacío. El vacío o caracter vacío (), es un dato. Por ello, si el contenido de ese campo es vacío, no será devuelto por esta consulta.

Otro detalle que tienes que tener en cuenta es que NULL es lo que se denominaría un destructor. Cualquier operación hecha con un campo, variable u objeto que contenga un NULL devuelve NULL. TEn cuidado con las operaciones aritméticas con campos que puedan contenerlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/10/2011, 07:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 132
Antigüedad: 15 años
Puntos: 8
Respuesta: Mostrar solo NULL

Ya solucione el problema, después de escribir el tema

Gracias.

Última edición por dasa; 05/10/2011 a las 07:11 Razón: faltaba algo
  #4 (permalink)  
Antiguo 05/10/2011, 07:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 132
Antigüedad: 15 años
Puntos: 8
Respuesta: Mostrar solo NULL

Muchas gracias por la otra opción gnzsoloyo.
Lo hice de otra forma. Me sirven las dos

Gracias
  #5 (permalink)  
Antiguo 05/10/2011, 07:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mostrar solo NULL

¿Cómo lo hiciste?

Postea el ejemplo... al menos para tenerlo en cuenta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 05/10/2011, 07:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 132
Antigüedad: 15 años
Puntos: 8
Respuesta: Mostrar solo NULL

Ops, disculpen, se me olvido de la emoción.

Lo genere así: WHERE !IFNULL (entrega, ' '). De esta forma lo realizo muy bien.

Gracias
  #7 (permalink)  
Antiguo 05/10/2011, 08:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mostrar solo NULL

Básicamente es igual a lo que te propuse, pero ten en cuenta que el objetivo de IFNULL es reemplazar un NULL por otra cosa y no determinar si es o no NULL.
La diferencia es que en una consulta mayor esta función le quita performance porque en realidad en lugar de comparar la mandas a hacer una tarea específica con cada registro obtenido. Por eso no son exactamente iguales.
En consultas pequeñas no notarás la diferencia. En un sistema mayor... la cosa cambia.

Tenlo en cuenta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 05/10/2011, 08:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 132
Antigüedad: 15 años
Puntos: 8
Respuesta: Mostrar solo NULL

Muchas gracias gnzsoloyo, por esos consejos tan precisos y sabios.

Gracias lo tendré en cuenta.

Última edición por dasa; 05/10/2011 a las 08:54 Razón: faltaba algo

Etiquetas: campos, null, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.