¿Consulta de selección por caracteres?

Tengo una consulta por la cual accedo a tu ayuda.
Tengo una tabla con un campo de tipo texto que guarda valores como ser 12380698. 65887000, 36589741, 74381256. Etc.
Debo filtrar todos aquellos que tengan ***80... U 81 u 82 u 83 u 84 etc.
Es decir filtrar solo aquello que en la posición 4 y 5 tengan los dígitos 80, 83, 85, 87 y 89 sin importar los tres primeros caracteres ni los que se encuentren después de las posiciones 4 y 5, ¿cómo hago esto en una consulta?

5 Respuestas

Respuesta
1
Hay varias maneras
Si valor es el texto "80" o "81"
en el select po select * from tabla where mid(campo,4,2)='" & valor & "' ")
si quieres que busque los ochentas pon
en el select po select * from tabla where mid(campo,4,1)='8' ")
Respuesta
1
select * from nombreDeLaTabla where mid$(nombreDelCampo,4,2) in ('80','81','82','83','84')
También podrías poner en la where lo siguiente:
where mid$(nombreDelCampo,4,2) between '80' and '84'
Respuesta
1
Añade tantas lineas de criterios como valores quieras filtrar con esta estructura (te pongo solo el primero):
Como '???80*'
Xavi
Respuesta
1
Tienes que poner en el filtro
like "###80*" or like "###83*" or like "###85*" or like "###87*" or like "###89*"
Los numerales (si no te funciona proba con "?") o los signos de pregunta funcionan como cualquier valos en esa posición, el asterisco significa cualquier cadena de valores.
Respuesta
1
Creas la consulta debajo del campo que te guarda lo valores que quieres filtras, específicamente en criterios colocas hacia abajo
***80***
***83***
***85***
***87***
***89***
Con esta condición esta filtrando los registros que tienen en la posición tres y cuatro los números 80,83,85,87,89 como necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas