Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Verificação entre strings

Seguindo pela lista disponibilizada pelo professor, eu alterei os valores de tamanhos dos sucos, todos para o valor em ml, seguido de ml , exemplo : 2 litros para '2000 ml', visando dar uma padronizada nos valores.

A questão é a seguinte, ao tentar filtrar esses valores com o comando SELECT * FROM sucos.tbproduto WHERE TAMANHO > '400 ml'; eu consigo retornar todos os valores, exceto os valores que estão acima de 999 ml, e caso eu faça SELECT * FROM sucos.tbproduto WHERE TAMANHO < '1500 ml'; eu retorno todos os valores, exceto os abaixo de 1000ml (Testei com <= , >=, etc).

Existe algum motivo para os filtros não retornarem esses valores?

1 resposta
solução!

Olá Tilucast, tudo bem? O problema dessa query é que o campo TAMANHO é do tipo VARCHAR, por tanto é um campo de texto, assim essas comparações são como comparação de texto, ele não leva em conta a numeração, nesse caso seria interessante utilizar a função REPLACE para remover o "ml" do final de cada campo e o CAST para realizar o comparativo. Mais isso é muito legal, você ir além das aulas e fazendo testes. Continue assim e bons estudos!