Código:
Intento seleccionar aquellos registros cuyo campo "campo" este vacio (NULL, 0)SELECT WHERE campo!= NULL
Pero de la forma anterior es incorrecta, ¿Como lo hago?
Gracias
| |||
![]() Hola, en una consulta del tipo:
Código:
Intento seleccionar aquellos registros cuyo campo "campo" este vacio (NULL, 0)SELECT WHERE campo!= NULL Pero de la forma anterior es incorrecta, ¿Como lo hago? Gracias |
| |||
Respuesta: Comprobar que el campo tiene algun contenido Si es nulo, usa esto
Código:
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. SELECT * FROM tabla WHERE campo IS NULL Fijate también si quieres buscar blancos, etc. |
| |||
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'. |
| |||
Respuesta: Comprobar que el campo tiene algun contenido Cita: 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 |
| |||
Respuesta: Comprobar que el campo tiene algun contenido Cita: 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 |
| |||
![]() 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 ;). |
| ||||
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:
O inclusive esto: SELECT 1 IS NULL, 1 IS NOT NULL;
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) |
| |||
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? |