mysql de données float ne sélectionnant pas dans la clause where
Ce peut-être facile, mais je ne pouvais pas obtenir de réponse.
J'ai besoin de sélectionner float valeur du tableau
exemple de table :-
value
10.2
4.5
4.6
4.06
ma requête
SELECT * FROM table where value = '4.6'
retourne aucun résultat
comment puis-je résoudre ce !
- double possible de la Sélection d'un flotteur en MySQL
Vous devez vous connecter pour publier un commentaire.
Utilisation
decimal
au lieu defloat
.Un decimal(10,2) auront 2 et seulement 2 décimales et peut être comparé à la même manière que les nombres entiers.
Surtout pour monetairy valeurs, vous devriez toujours décimal, mais partout où les erreurs d'arrondi sont indésirables, décimal est un bon choix.
Voir: http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html
Ou
MySQL Type de Données DÉCIMAL Caractéristiques
En général, vous ne devriez jamais vérifier l'égalité avec les chars (sauf si, éventuellement, vous avez le même objet). En interne, il est représenté avec plus de précision, même si ce n'est pas le montrer pour vous au moment où il les sorties à l'écran. Ce principe est vrai pour l'informatique en général.
Il y a des dizaines de régimes pour ce faire, mais ici, c'est simple, ce qui doit faire sens:
Aujourd'hui, je suis également venu à travers la même situation et se résoudre simplement en utilisant la fonction FORMAT de MySQL, Il sera de retour les résultats correspondant exactement à votre clause where.
Explication:
Espère que cela aide.
Vous pouvez également essayer de requête
vous écrivez: