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

Comprobar que el campo tiene algun contenido

Estas en el tema de Comprobar que el campo tiene algun contenido en el foro de Mysql en Foros del Web. Hola, en una consulta del tipo: Código: SELECT WHERE campo!= NULL Intento seleccionar aquellos registros cuyo campo "campo" este vacio (NULL, 0) Pero de la ...
  #1 (permalink)  
Antiguo 19/07/2008, 09:05
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Comprobar que el campo tiene algun contenido

Hola, en una consulta del tipo:
Código:
SELECT WHERE campo!= NULL
Intento seleccionar aquellos registros cuyo campo "campo" este vacio (NULL, 0)
Pero de la forma anterior es incorrecta, ¿Como lo hago?

Gracias
  #2 (permalink)  
Antiguo 19/07/2008, 09:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Comprobar que el campo tiene algun contenido

Si es nulo, usa esto
Código:
SELECT * FROM tabla WHERE campo IS NULL
Pero mira la naturaleza del campo, si es numérico, fecha, texto, si acepta o no nulo (imagino que sí), si pone nulo por defecto, etc.
Fijate también si quieres buscar blancos, etc.
  #3 (permalink)  
Antiguo 19/07/2008, 09:49
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Respuesta: Comprobar que el campo tiene algun contenido

Gracias, ahora me gustaria saber como para si el campo NO ES nulo

Gracias.
  #4 (permalink)  
Antiguo 19/07/2008, 10:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Comprobar que el campo tiene algun contenido

SELECT * FROM tabla WHERE campo IS NOT NULL

Hay algunas funciones que pueden serte útiles, como IFNULL(campo,'siesnulo')
Si campo no es nulo, devuelve el valor de campo, y si lo es, devuelve 'siesnulo'.
  #5 (permalink)  
Antiguo 19/07/2008, 13:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Comprobar que el campo tiene algun contenido

Cita:
Iniciado por jurena Ver Mensaje
SELECT * FROM tabla WHERE campo IS NOT NULL

Hay algunas funciones que pueden serte útiles, como IFNULL(campo,'siesnulo')
Si campo no es nulo, devuelve el valor de campo, y si lo es, devuelve 'siesnulo'.
Jurena disculpa la sintaxis correcta es la siguiente:

SELECT * FROM TABLA WHERE NOT CAMPO_CONDICION IS NULL

la sintaxis que tu indicas es la del mssql server
  #6 (permalink)  
Antiguo 19/07/2008, 13:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Comprobar que el campo tiene algun contenido

Cita:
Iniciado por K-SuMa Ver Mensaje
Jurena disculpa la sintaxis correcta es la siguiente:

SELECT * FROM TABLA WHERE NOT CAMPO_CONDICION IS NULL

la sintaxis que tu indicas es la del mssql server
K-SuMa, no tienes por qué disculparte por hacer una corrección. Para eso estamos aquí, para corregir errores y ayudarnos. No obstante, te diré que creo que es correcta, como puedes comprobar
http://dev.mysql.com/doc/refman/5.0/...with-null.html

Creo que funcionan las dos.

Última edición por jurena; 19/07/2008 a las 13:44
  #7 (permalink)  
Antiguo 19/07/2008, 16:29
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Respuesta: Comprobar que el campo tiene algun contenido

Hola Jurena y K-suna,
Al principio probe "IS NOT NULL" por instito antes de que me lo contestarais y comprobado NO FUNCIONA, en cambio la forma de K-suna si lo hace.

Gracias a todos, resuelto ;).
  #8 (permalink)  
Antiguo 19/07/2008, 17:12
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, 5 meses
Puntos: 2658
Respuesta: Comprobar que el campo tiene algun contenido

Disiento en que la forma IS NOT NULL no funcione. Si no funcionó el problema debe haber sido otra parte de la sintaxis o de la lógica de la consulta.
Si te fijas con atención en el manual de referencia (3.3.4.6. Trabajar con valores NULL), la forma estandar en MySQL para obtener un TRUE ante un NULL, es la que jurena te indicó: IS NOT NULL.
Eso no implica que la forma NO X IS NULL no pueda funcionar, pero la otra DEBIÓ FUNCIONAR. Para probarte lo que digo, simplemente copia y ejecuta el siguiente renglón:
Código:
SELECT 1 IS NULL, 1 IS NOT NULL;
O inclusive esto:
Código:
SELECT NULL IS NULL, NULL IS NOT NULL;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 19/07/2008, 17:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Comprobar que el campo tiene algun contenido

Cita:
Iniciado por jurena Ver Mensaje
K-SuMa, no tienes por qué disculparte por hacer una corrección. Para eso estamos aquí, para corregir errores y ayudarnos. No obstante, te diré que creo que es correcta, como puedes comprobar

http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

Creo que funcionan las dos.
Las funciones que hacen mension en la documentacion que me indicas son solo para comprobar si el valor del campo una vez seleccionado es nulo mas no condiciona la seleccion de reigstros. Aunque aparece un ejemplo en donde se coloca WHERE column_name IS NOT NULL, el ejemplo fue escrito por un usuario.

Salu2.
  #10 (permalink)  
Antiguo 20/07/2008, 04:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Comprobar que el campo tiene algun contenido

Astut, creo que WHERE campo IS NOT NULL funciona y a mí me ha funcionado siempre. Me da la impresión de que esa sintaxis es la stándard y coincido con la opinión de gnzsoloyo (que también puede corroborarse con un repaso por Google), pero comprendo que la propuesta de K-Suma WHERE NOT campo IS NULL hace lo mismo, porque carga false para cualquier campo NULL, y true para los demás.
Sin querer hacer un debate de esto, os diré que ahora suscitan mi curiosidad dos cosas:
1) ¿por qué astut no encontraba los nulos con IS NOT NULL?
2) ¿hay alguna diferencia entre WHERE campo IS NOT NULL y WHERE NOT campo IS NULL a ese u otros efectos?
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 17:24.