Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

the_sant

[Resolvido] Como realizar BETWEEN com letras e números

Recommended Posts

E ai galera beleza?

 

Estou com o seguinte problema, creio que para vocês aqui do forum será fácil me ajudar :)

 

Preciso realizar algumas consultas baseados nos números de série de alguns produtos, atá ai tranquilo. O que preciso saber é como faço para realizar a consulta entre dois números de série, onde esses números sempre são compostos por 2 letras e 7 números. Ex: AB1234567

 

Tentei montar a SQL com a seguinte condição "tabela.serie BETWEEN 'AB1234567' and 'CD1234567'" . Mas me retorna um resultado diferente do real.

 

Alguém porfavor poderia me dar um auxilio de como poderia realizar essa comparação.

 

Desde já Agradeço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas me retorna um resultado diferente do real.

Detalhe isto por favor, o que retornou de errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas me retorna um resultado diferente do real.

Detalhe isto por favor, o que retornou de errado ?

 

Realizei uma consulta entre os seguintes números de série : 'BB9999999' e 'CC0000000' esse intervalo me retornou mais de 5000 registros sendo que na teoria era para retornar apenas 1 registro. Sei que retornou mais de 5000 porque bloqueei o relatório para esse limite máximo. Além disso a consulta pega números antes e depois do intervalo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nenhum OR perdido na query ?

Tentou um Select simples só com BETWEEN ?

Que valores por exemplo retornou na query indevidamente ?

 

O BETWEEN deveria funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realizai as seguintes SQLs:

 

SELECT count(*)

FROM tbl_os

WHERE tbl_os.fabrica = 40

AND tbl_os.serie BETWEEN 'BB99999999' and 'CC0000000'

 

Meretornou : 10553 registros

 

Não deveria ser apena 1 único registro?

 

Será que terei que separar as letra e comparar os números separadamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rode :

 

SELECT tbl_os.serie
FROM tbl_os
WHERE tbl_os.fabrica = 40
AND tbl_os.serie BETWEEN 'BB99999999' and 'CC0000000'
limit 100

e veja o que está vindo errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rode :

 

SELECT tbl_os.serie
FROM tbl_os
WHERE tbl_os.fabrica = 40
AND tbl_os.serie BETWEEN 'BB99999999' and 'CC0000000'
limit 100

e veja o que está vindo errado.

 

Fiz esta query e me retornou :

BE0000063

BE0000408

BE0001435

BE0002829

BE0002872

BE0003147

BE0003148

BE0003398

BE0004050

BE0004083

BE0004386

BE0005406

BE0006348

BE0007226

BE0007495

BE0008037

BE0008038

BE0008713

BE0010421

BE0010864

 

esses são os 20 primeiros resultados

 

depois fiz a mesma query com o primeiro e último resultado dessa lista que coloquei, me retornou 1452 resultados quando deveriam ser 18

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concorda que TODOS estes estão entre BB e CC ?

 

Não tem erro !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.