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!