Maison >base de données >tutoriel mysql >Voici quelques titres basés sur des questions basées sur le texte que vous avez fourni, chacun se concentrant sur un aspect différent du problème : Option 1 (Se concentrer sur le problème) : * Pourquoi ma requête MySQL SELECT ne renvoie-t-elle aucune résolution

Voici quelques titres basés sur des questions basées sur le texte que vous avez fourni, chacun se concentrant sur un aspect différent du problème : Option 1 (Se concentrer sur le problème) : * Pourquoi ma requête MySQL SELECT ne renvoie-t-elle aucune résolution

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 12:36:31495parcourir

Here are a few question-based titles based on your provided text, each focusing on a different aspect of the issue:

Option 1 (Focusing on the problem):

* Why Does My MySQL SELECT Query Return No Results When Using a Float for Matching?

Option 2 (Focusi

Lancement d'un flottant MySQL pour une correspondance SELECT précise

Une tentative d'exécution d'une requête SELECT en utilisant une valeur à virgule flottante comme condition entraîne souvent un comportement inattendu. Le problème suivant illustre ce défi :

<code class="sql">SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';</code>

Cette requête ne renvoie aucune ligne, même si la valeur 101,31 apparaît dans la base de données pour la colonne prix. La suppression de la condition de prix renvoie la ligne attendue.

Pour résoudre ce problème, envisagez les solutions suivantes :

Utiliser CAST pour convertir en DECIMAL

Convertir la valeur à virgule flottante en un type DECIMAL avant de comparer garantit une bonne précision :

<code class="sql">SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);</code>

Modification de la structure de la base de données

Pensez à modifier la colonne prix en type DECIMAL, qui offre une meilleure précision pour les valeurs monétaires :

ALTER TABLE `table` MODIFY COLUMN `price` DECIMAL;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn