Heim > Datenbank > MySQL-Tutorial > Wie geht PostgreSQL mit Ganzzahldivision um und wie erhalte ich genaue Ergebnisse?

Wie geht PostgreSQL mit Ganzzahldivision um und wie erhalte ich genaue Ergebnisse?

Linda Hamilton
Freigeben: 2024-12-26 18:40:18
Original
186 Leute haben es durchsucht

How Does PostgreSQL Handle Integer Division, and How Can I Get Accurate Results?

Divisionsoperator in PostgreSQL: Ganzzahlkürzung und Gleitkommaberechnungen verstehen

In PostgreSQL können Divisionsoperationen (/) zu unerwarteten Ergebnissen führen beim Arbeiten mit ganzzahligen Werten. Um falsche Berechnungen zu vermeiden, ist es wichtig, das zugrunde liegende Verhalten der ganzzahligen Division zu verstehen.

Betrachten Sie die folgende Abfrage:

SELECT dev_cost / sell_cost FROM software
Nach dem Login kopieren

Wobei dev_cost 16000 und sale_cost 7500 ist. Das Ergebnis können Sie erwarten 3, aber es wird 2 zurückgegeben. Dies liegt daran, dass bei der Ganzzahldivision jeder Bruchteil davon abgeschnitten wird Ergebnis.

Um den gewünschten Wert zu erhalten, müssen Sie mindestens einen der Werte in einen Gleitkommatyp (z. B. Dezimalzahl) umwandeln oder den ::-Operator verwenden, um ihn im laufenden Betrieb umzuwandeln:

SELECT CAST(dev_cost AS DECIMAL) / sell_cost FROM software
Nach dem Login kopieren
SELECT dev_cost::DECIMAL / sell_cost FROM software
Nach dem Login kopieren

Diese Abfragen geben 2,133 zurück, was das tatsächliche Divisionsergebnis ist.

Zusätzlich können Sie die verwenden ceil()-Funktion, um das Ergebnis auf die nächste Ganzzahl aufzurunden:

SELECT CEIL(dev_cost::DECIMAL / sell_cost) FROM software
Nach dem Login kopieren

Diese Abfrage gibt 3 zurück, was der gewünschten Menge an Software entspricht, um die Entwicklungskosten zu decken.

Das ist wichtig Sie müssen sich dieses Verhaltens bei der Durchführung von Divisionsoperationen bewusst sein und geeignete Datentypen und Umwandlungen verwenden, um genaue Berechnungen sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie geht PostgreSQL mit Ganzzahldivision um und wie erhalte ich genaue Ergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage