Una select pa despertar :)

IS4kO

SELECT * FROM grupos where nombregrupo NOT between 'a' AND 'z' order by nombregrupo

Quiero que me seleccione todos los grupos que no empiecen por vocal o consonante, pero nose pq motivo me pilla tb los que empiezan por A y luego hay un espacio.

Por ejemplo:

A perfect circle (me lo pilla)/cuando no deberia
ACDC (No me lo pilla)/esto es correcto

Alguna idea?

BrOkeR

Supongo que between incluye los extremos. Asi que prueba sin between.

SELECT * FROM grupos where nombregrupo < 'a' AND nombregrupo > 'z'

No se si el menor o el mayor estan bien colocados no he usado nunca comparaciones de ese tipo con caracteres.

IS4kO

no, el between no los pillas, ya te digo que ACDC no lo incluye pero A perfect circle si, el error debe ser el comodin *

ejemplo claro:

http://www.musicametal.com/?secc=grupos.php&grupo=_

aLeX

No tienes que usar % en lugar de * ???

PeLoTaSo

Si pones entre a* y z* le obligas a que excluya todas las frases que la primera palabra contenga 2 o más letras y que la primera esté comprendida entre a y z, prueba con % que debería rular y sino una subconsulta, pero vamos el problema está en lo que te digo.

BlisZ

no me acuerdo casi de php, pero no podrias poner esto?

'a' OR 'a%' AND 'z' OR 'z%'

no me acuerdo muy bien xD, alomejor puedes sustituir los OR por AND :S

PeLoTaSo

No se que base de datos utilizas pero como no existe un estandar en los SGBD cada uno utiliza los comodines como le da la gana, por ejemplo en informix o haces la consulta perfecta o no te rula, sin embargo en access pones una burrada y a veces hasta funciona.

Usuarios habituales

  • PeLoTaSo
  • BlisZ
  • aLeX
  • IS4kO
  • BrOkeR