Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Consulta que comience en una letra y termine en otra (https://www.clubdelphi.com/foros/showthread.php?t=59553)

Adrian Murua 31-08-2008 19:02:02

Consulta que comience en una letra y termine en otra
 
Estimados Amigos :

Tengo una tabla que contiene el nombre y la direccion de un grupo de personas y deseo hacer una consulta que me devuelva todos los nombres conprendidos entre las letras 'A' y 'C', y no se como realizarla . Habia pensado en el operador LIKE pero solo hasta donde conozco puedo seleccionar los apellidos que comiencen con A [ 'A%' ] o con C [ 'C%' ] .

Espero que puedan ayudarme .

Muchas Gracias.:rolleyes:

TOPX 31-08-2008 19:44:19

Adrian,

En la misma palabra, así,

Código SQL [-]
WHERE campo LIKE 'A%%C'

O de entre la "lista alfabética", así,

Código SQL [-]
WHERE campo LIKE 'A%%' 
OR campo LIKE 'B%%'
OR campo LIKE 'A%%'

??

roman 31-08-2008 19:47:02

No sé, ¿has intentado algo como esto?

Código SQL [-]
select * from tabla
where nombre >= 'A' and nombre < 'D'

// Saludos

Caral 31-08-2008 19:49:09

Hola
No sabia que se podia con mayor o menor que con string.
Una cosa Roman; Asi vera los registros que empiezan con esas letras?, tu crees?.
Saludos

Adrian Murua 31-08-2008 20:28:06

Gracias por sus respuestas :

He probado
Código SQL [-]
 SELECT *  FROM `afiliados` WHERE (APELLIDO LIKE 'A%') OR (APELLIDO LIKE 'B%') OR (APELLIDO LIKE 'C%') ORDER BY APELLIDO
y me funciona de maravillas ya que era entre la lista alfabetica como me decia TOPX,

de la forma :
Código SQL [-]
 SELECT * FROM `afiliados` WHERE (APELLIDO > 'A') AND (APELLIDO < 'D') ORDER BY APELLIDO

como dice roman tambien funciona

Muchas Gracias por su respuestas.

Caral 31-08-2008 20:40:27

Hola
Ya me extrañaba a mi que a Roman se le escapara algo.
Saludos

roman 31-08-2008 20:51:07

Cita:

Empezado por Caral (Mensaje 310588)
Hola
No sabia que se podia con mayor o menor que con string.

De hecho, según acabo de ver, también se puede así:

Código SQL [-]
select * from tabla
where nombre between 'A' and 'D'
order by nombre

// Saludos

Caral 31-08-2008 20:56:27

Hola
Es bueno saber que en sql como en delphi se pueden hacer las cosas de muchas maneras, pero me pregunto?, cual sera mejor?, o sera un asunto antojadizo.
Saludos

roman 31-08-2008 21:02:05

Pues no creo que haya mayor diferencia, excepto que si el rango es amplio, digamos de C a R, es más cómodo escribir el < y > o el between que usar un OR por cada letra. Pero, como dices, es cuestión de antojo :)

// Saludos

TOPX 31-08-2008 21:12:32

Cita:

Empezado por roman (Mensaje 310596)
[sic] es más cómodo escribir el < y > o el between que usar un OR por cada letra.

Sí señor, tiene toda la razón.


La franja horaria es GMT +2. Ahora son las 04:02:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi