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

distinto en mysql

Estas en el tema de distinto en mysql en el foro de Mysql en Foros del Web. como se pone distinto en mysql??? estoy probando con <> y != y nada me da error. Queria comparar para ver si ese campo esta ...
  #1 (permalink)  
Antiguo 10/06/2006, 13:12
 
Fecha de Ingreso: mayo-2006
Mensajes: 99
Antigüedad: 17 años, 11 meses
Puntos: 0
distinto en mysql

como se pone distinto en mysql???
estoy probando con <> y != y nada me da error.

Queria comparar para ver si ese campo esta vacio.

Código PHP:
$query "SELECT * from $bd_tabla WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%' and idempleado='$usu' and estado=0 and usuario<>NULL "
tanto como si pongo NULL como si pongo '' no me realiza nada


Gracias por adelantado
  #2 (permalink)  
Antiguo 10/06/2006, 14:56
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
no puedes realizar comparaciones con NULL, debes escribir lo siguiente:

campo is NULL (seria como campo = NULL)

o

campo is not NULL (seria como campo <> NULL)

ademas, creo que mysql admite != y <> para comparaciones negativas, aunque yo utilizo <>.

por otro lado creo que tu sentencia tiene un error sintactico. prueba con:
Código:
$query = "SELECT * from $bd_tabla WHERE `$_POST['campo']` LIKE '%$_POST['palabra']%' and idempleado='$usu' and estado=0 and usuario is no NULL ";
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #3 (permalink)  
Antiguo 07/07/2006, 09:21
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Hay algun unlike en mysql?

Tengo que ver los campos ordenados, es decir todos los que inician con A, todos los que Inician con B, C, D...

Para eso uso like 'a%' , like 'b%' , like 'c%' , like 'd%', ....

Ahora el problema es como hago para que se muestren los campos que no corresponden, es decir todos los que son numeros, espacios o cualquier otro caracter que no sea letra..

Se podra usar <> en esos casos?, por decir

select * from usuario where Nombre <> 'a%' and Nombre <> 'b%' and Nombre <> 'c%' and Nombre <> 'd%' and ...... Nombre <> 'z%'

Lo he probado pero no me funciona, me muestra incluso nombres con a, b, c...

Un Saludo
Cristian
  #4 (permalink)  
Antiguo 07/07/2006, 09:53
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
No te sirve esto?

select * from usuario order by nombre;
  #5 (permalink)  
Antiguo 08/07/2006, 08:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias claudiovega.

Disculpa parece que no me explique bien, lo que quiero es un select que me permita tener a todos los nombres que no empiecen con una letra, por ejemplo si tengo:

juan
pedro
lucho
mario
_mario
15lucho
!!super

El select deberia retornar solamente:
_mario
15lucho
!!super

Estimo que sera una lista realmente larga por eso me parece que no sera una buena idea hacer un select de todo.

Saludos
  #6 (permalink)  
Antiguo 10/07/2006, 08:51
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Usa expresiones regulares, por ejemplo para obtener todos los registros en los cuales el campo nombre comience con un numero:

select * from tabla where nombre regexp '^[0-9]'

No sé mucho de expresiones regulares, como para darte la instruccion que haga todo lo que pides, pero tienes una ejemplo que funciona.

Última edición por claudiovega; 10/07/2006 a las 08:57
  #7 (permalink)  
Antiguo 10/07/2006, 10:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas gracias claudiovega, ahora tengo de donde partir, es que ni por la mente se me paso esa solucion....

Yo tampoco domino las expresiones regulares como para hacerla de memoria ahorita, pero en cuanto la tenga echa la paso...

Muchas gracais de nuevo

Saludos
  #8 (permalink)  
Antiguo 10/07/2006, 11:13
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Creo que esto funcionaría:

select * from tabla where nombre regexp '^[^a-z]'

Última edición por claudiovega; 10/07/2006 a las 11:18
  #9 (permalink)  
Antiguo 16/09/2007, 10:45
Kash
Invitado
 
Mensajes: n/a
Puntos:
Re: distinto en mysql

PAra crear el sentido de distinto en mysql se utilizan los operadores de comparación, en este caso sería "NOT LIKE".


Un ejemplo claro sería:
SELECT * FROM tabla WHERE nombre NOT LIKE 'a%'
  #10 (permalink)  
Antiguo 16/09/2007, 10:48
Kash
Invitado
 
Mensajes: n/a
Puntos:
Re: distinto en mysql

Se me olvidaba añadir una cosa, que era añadir un link hacia la pagina de mysql, más exactamente hacia el manual de referencia con este tema, pero no puedo poner links....
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:55.