3
respostas

VALORES MENORES QUE 400

Quando usamos o código a tabela final retorna valores menores que 400, usando o gemini descobri que isso ocorreu por que os tipos de valores eram diferentes do código que eu estava aplicando (eles eram decimais), consegui resolver usando a seguinte linha:

WHERE Total_do_Pedido >= CAST(400 AS DECIMAL(10,2));

No entanto fiquei na dúvida, por que no caso do vídeo da professora, isso não foi necessário?

3 respostas

Olá, Malena, tudo bem?

Fiz os testes e notei que no momento de importar a tabelapedidos, a coluna Total_do_Pedido está vindo com o tipo TEXT, por essa razão a comparação direta com um número pode não funcionar corretamente.

CAPTURA DE TELA DA COLUNA TOTAL_DO_PEDIDO AO LADO ESTÁ DESCRITO TIPO TEXT

O da instrutora está como tipo real. Ao utilizar o CAST, a conversão de dados de TEXT para DECIMAL garantiu a compatibilidade entre os dados. Inclusive, parabéns de ir atrás da solução utilizando a IA, chatgpt!

Malena, obrigada por apontar esse comportamento. Ele será encaminhado para a equipe responsável.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

É possível alterar o tipo de uma coluna de uma tabela que já possui dados?

Tentei ALTER TABLE nome_da_tabela ALTER COLUMN nome_da_coluna decimal(10, 2); mas deu erro...

Olá Daniel, espero que esteja tudo bem contigo.

Embora o SQLite apresente várias vantagens, incluindo a sua acessibilidade na nuvem, há algumas restrições importantes a se considerar. Por exemplo, ele não oferece suporte direto à alteração de tipos de coluna por meio da instrução ALTER TABLE.

Uma abordagem para contornar essa limitação é renomear a tabela existente, criar uma nova tabela com a estrutura atualizada e, em seguida, transferir os dados para essa nova tabela. Por fim, a tabela antiga pode ser excluída.

Espero ter esclarecido.