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

[Mysql] buscar por inicial, o sea primera letra del campo

Estas en el tema de [Mysql] buscar por inicial, o sea primera letra del campo en el foro de Mysql en Foros del Web. Hola, necesito saber como hacer un select que busque todos los registros que empiecen con un caracter, una letra o un numero, para hacer un ...
  #1 (permalink)  
Antiguo 28/03/2005, 09:37
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 19 años, 9 meses
Puntos: 4
[Mysql] buscar por inicial, o sea primera letra del campo

Hola, necesito saber como hacer un select que busque todos los registros que empiecen con un caracter, una letra o un numero, para hacer un navegador paginable por orden alfabético dividido por letras.
  #2 (permalink)  
Antiguo 28/03/2005, 09:41
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 19 años
Puntos: 2
Solo tienes que cambiar la letra que te interesa y te funcionaría:
Código:
select * from tabla where campo regexp "^a|A."
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 28/03/2005, 11:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 20 años, 5 meses
Puntos: 772
Hola ArrauKano

Otra opción:

SELECT * FROM tutabla WHERE (tucampo LIKE '%A')

Te buscará todos los registros que empiezen por A

Saludos,
  #4 (permalink)  
Antiguo 29/03/2005, 00:40
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 19 años
Puntos: 2
JavierB: no es correcto lo que pusiste, eso te busca todos los que acaban con la letra A, la condición sería "tucampo like 'A%'". Pero además de buscar las que buscan por la "A" (mayúscula) también tendrá que buscar las que buscan por la "a", por no decir que puede empezar por una letra acentuada. Cuando es así prefiero usar "regexp" en lugar del "like", pues es mucho más rico para establecer las condiciones.
Un saludete.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 29/03/2005, 06:32
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 20 años, 5 meses
Puntos: 772
Hola Vice

Lo de like '%A' fue un error al teclear.

He probado en MySQL el código que puse, con la corrección que tú has hecho, y encuentra los registros que empiezan por mayúscula, minúscula y vocales acentuadas.

El código que has puesto con expresiones regulares, no he conseguido que funcione, aunque puede que no haya sabido hacerlo. Soy bastante novato. Veré si puedo averiguar algo por la red.

Saludos,
  #6 (permalink)  
Antiguo 11/05/2005, 02:32
Avatar de PC-Drivers
Usuario no validado
 
Fecha de Ingreso: febrero-2003
Mensajes: 104
Antigüedad: 19 años, 5 meses
Puntos: 1
Y si quiero buscar por letra, y al final quiero poner los que empiezen por cualquier símbolo?
  #7 (permalink)  
Antiguo 27/10/2010, 13:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: [Mysql] buscar por inicial, o sea primera letra del campo

Cita:
Iniciado por Vice Ver Mensaje
Solo tienes que cambiar la letra que te interesa y te funcionaría:
Código:
select * from tabla where campo regexp "^a|A."
Un saludo.
Si funciona muy bien esta instrucion me ha servido de mucho


Saludo..
  #8 (permalink)  
Antiguo 07/02/2011, 06:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: [Mysql] buscar por inicial, o sea primera letra del campo

Hola:


Me encuentro inmerso en una aplicación de gestión y tengo un problema con esta orden.

Yo tengo en mi base de datos Empleados y algunos se lllaman Carlos;

Al ejecutar desde la terminal de mysql:
select * from empleados where nombre regexp '^C';
la cosa va bien.

sin embargo al hacerlo desde mi aplicación java con :

Statement s = conexion.createStatement();
String argumento=" ' "+"^"+C+" ' ";

rs = s.executeQuery("select * from empleados where 'Nombre' regexp "+argumento);


la lista que obtengo es vacía.!

Alguien sabe porque puede ser?

gracias.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:36.