Maison >base de données >tutoriel mysql >Comment puis-je obtenir des résultats à virgule flottante à partir d'une division entière dans SQLite ?

Comment puis-je obtenir des résultats à virgule flottante à partir d'une division entière dans SQLite ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-16 16:46:12923parcourir

How Can I Get Floating-Point Results from Integer Division in SQLite?

Conversion d'une division entière en nombre réel flottant dans SQLite

Dans SQLite, les opérations de division effectuées sur des entiers aboutissent à des valeurs entières. Ce comportement peut être problématique lorsque le résultat souhaité est une valeur à virgule flottante. Pour surmonter cette limitation, il existe une solution simple impliquant le transtypage.

Supposons que nous ayons la requête suivante qui calcule la division de deux nombres entiers, totalUsers et totalBids :

sqlite> select totalUsers/totalBids from 
(select (select count(*) from Bids) as totalBids , 
(select count(*) from Users) as totalUsers) A;
1

Comme évident, le le résultat est 1, qui est une valeur entière. Pour obtenir une division d'un nombre réel, nous pouvons multiplier l'un des opérandes par 1,0, le convertissant en un nombre à virgule flottante. Cette opération modifie la division en division à virgule flottante, donnant le résultat souhaité :

SELECT something*1.0/total FROM somewhere

En suivant cette technique simple, vous pouvez vous assurer que les opérations de division dans SQLite renvoient de vraies valeurs à virgule flottante, offrant plus de flexibilité et précision dans votre analyse de données.

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