SELECT entre datas SQL Server

23/03/2020

0

Boa tarde. Estou fazendo um SELECT por datas, porém o resultado não esta filtrando corretamente.

SELECT periodo
FROM minhaTabela
WHERE periodo BETWEEN '01/2020' and '02/2020'


Retornou periodo de 02/2019 tbm!



OBS: o campo de data no BD foi criado como VARCHAR (não posso alterar isso). Algúem poderia ajudar?

Abs!
Responder

Post mais votado

23/03/2020

Olá Gabriel!

Quando você grava um campo como varchar, o clausula BETWEEN vai tratar o valor desse campo como texto, e utilizar a ordem alfabética para filtrar o intervalo. Por isso esse select não dá certo. Você tem que utilizar o campo no formato YYYYMM para dar certo. Tenta assim:
SELECT periodo
  FROM minhaTabela
 WHERE SUBSTRING(periodo, 4, 4) + SUBSTRING(periodo, 1, 2) BETWEEN '202001' AND '202002'


Espero ter ajudado!
Abraço!

Daniel Araújo

Daniel Araújo
Responder

Mais Posts

24/03/2020

Alex Lekao

Olá GF, bom dia!!!!

Vc pode usar o comando convert para fazer a conversão para datas, ou vice verça, ou simplesmente usar o comando format para dar o formato de data desejado e verificar se atende a sua demanda.

o padrão das datas no DB é brasileiro? caso sim, e so usar convert(varchar(7),sua_data,103) e ver se funciona, ou utilizar format(sua_data,'mm/yyyy,'pt-br') não to lembrando a estrutura do comando agora, mas acredito que dará o resultado que vc espera.

Espero que ajude.

Atenciosamente,

Alex

Boa tarde. Estou fazendo um SELECT por datas, porém o resultado não esta filtrando corretamente.

SELECT periodo
FROM minhaTabela
WHERE periodo BETWEEN '01/2020' and '02/2020'


Retornou periodo de 02/2019 tbm!



OBS: o campo de data no BD foi criado como VARCHAR (não posso alterar isso). Algúem poderia ajudar?

Abs!
Responder

24/03/2020

Gxf

Bom dia!

Agradeço ambas as respostas.

Testando a função passado pelo Daniel Araújo se encaixou perfeitamente com oq eu desejava. Muito obrigado mesmo!! Aos dois.

Abs!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar