Heim >Datenbank >MySQL-Tutorial >Wie kann ich Gleitkomma-Ergebnisse aus der Ganzzahldivision in SQLite erhalten?

Wie kann ich Gleitkomma-Ergebnisse aus der Ganzzahldivision in SQLite erhalten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-16 16:46:12932Durchsuche

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

Integer-Division in Real Float in SQLite umwandeln

In SQLite führen Divisionsoperationen, die an ganzen Zahlen durchgeführt werden, zu ganzzahligen Werten. Dieses Verhalten kann problematisch sein, wenn das gewünschte Ergebnis ein Gleitkommawert ist. Um diese Einschränkung zu überwinden, gibt es eine einfache Lösung mit Typumwandlung.

Angenommen, wir haben die folgende Abfrage, die die Division zweier ganzzahliger Zählungen, totalUsers und totalBids, berechnet:

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

Wie offensichtlich ist die Das Ergebnis ist 1, was ein ganzzahliger Wert ist. Um eine reelle Zahlendivision zu erhalten, können wir einen der Operanden mit 1,0 multiplizieren und ihn so in eine Gleitkommazahl umwandeln. Diese Operation ändert die Division in eine Gleitkommadivision und liefert das gewünschte Ergebnis:

SELECT something*1.0/total FROM somewhere

Durch Befolgen dieser einfachen Technik können Sie sicherstellen, dass Divisionsoperationen in SQLite echte Gleitkommawerte zurückgeben, was mehr Flexibilität bietet und Genauigkeit bei Ihrer Datenanalyse.

Das obige ist der detaillierte Inhalt vonWie kann ich Gleitkomma-Ergebnisse aus der Ganzzahldivision in SQLite erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn