marceloy 0 Denunciar post Postado Fevereiro 22, 2007 Bom pessoal, não tenho mto conhecimento em mysql. (Procurei por algo no fórum mas não encontrei.) Digamos que na minha base, tenho um campo valor do tipo float e um registo com valor igual a 294.41 Este registro existe, porém quando executo: SELECT * FROM tabela WHERE valor = '294.41' o MySQL não me retorna nenhum resultado. A nível de teste fiz: SELECT * FROM tabela WHERE valor LIKE '%294.41%' e SELECT * FROM tabela WHERE valor BETWEEN '294.40' AND '294.42' e o MySQL me retorna o registro. Como devo proceder para realizar uma consulta na forma valor = '294.41' ? :mellow: Obrigado desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Douglas 6 Denunciar post Postado Fevereiro 23, 2007 Já tentou sem as apas? Compartilhar este post Link para o post Compartilhar em outros sites
marceloy 0 Denunciar post Postado Fevereiro 23, 2007 Já tentei sim Douglas,WHERE VALOR = '294.41'WHERE VALOR = 294.41(Nenhum resultado)WHERE VALOR = '294,41'(Retorna todos os valores iguais a 294)WHERE VALOR = 294.41(Erro de sintaxe)obs: as consultas estão sendo feitas pelo phpMyAdmin. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Fevereiro 23, 2007 Sinceramente não sei, fiz um teste aqui com uma tabela que tenho e deu certo: SELECT * FROM `tabela` where `campo` = 364.75 Meu campo é float, fiz no phpmyadmin, e você ? Compartilhar este post Link para o post Compartilhar em outros sites
marceloy 0 Denunciar post Postado Fevereiro 24, 2007 Meu campo também é float e fiz a consulta no phpMyAdmin. Mas com esse exemplo que me passou a base me retorna 'zero resultados'. Não sei se ajuda, mas vai algumas especificações da tabela: Tipo da Tabela: InnoDb Collation: latin1_swedish_ci Ah, lembrando, o campo float está no formato padrão, ou seja, não está especificado tamanho (m, n). Compartilhar este post Link para o post Compartilhar em outros sites
Eragon 0 Denunciar post Postado Março 27, 2012 Ressurreição do tópico igual. mesmo problema where campo = '202.3' nada retorna campo float, alguma solução? Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Março 27, 2012 Represtação precisa de valores monetários é um problema comum. No MySQL você deve usar o tipo DECIMAL. Ele armazena uma string, então nenhuma perda de precisão deve ocorrer. Se a precisão não é tão importante, o tipo DOUBLE pode ser satisfatório. Compartilhar este post Link para o post Compartilhar em outros sites