


Division ( / ) falsch berechnet in PostgreSQL
Sie stoßen auf ein Divisionsproblem in PostgreSQL, bei dem eine Ganzzahldivision zu einer ungenauen Antwort führt. Lassen Sie uns in den Hintergrund eintauchen und eine Lösung bereitstellen, die das Problem angeht.
Grundlegendes zur Ganzzahldivision
Die Ganzzahldivision, gekennzeichnet durch „/“, schneidet den Quotienten in Richtung Null ab. Das bedeutet, dass bei der Division zweier Ganzzahlen das Ergebnis auf die nächste ganze Zahl abgerundet wird.
Im gegebenen Beispiel sind „dev_cost“ und „sell_cost“ beide ganze Zahlen. Daher gibt die Abfrage „select dev_cost / sale_cost“ 2 zurück, was dem ganzzahligen Äquivalent von 16000 dividiert durch 7500 entspricht. Sie benötigen jedoch die Menge an Software, um die dev_cost wiederherzustellen, die 3 beträgt.
Lösung des Berechnungsproblems
Um den genauen Wert zu erhalten, müssen wir sicherstellen, dass mindestens ein Operand in die Division ist ein Gleitkomma- oder Dezimalwert. Dies verhindert das Abschneiden und führt zu einem gebrochenen Quotienten.
Eine Lösung besteht darin, eine der Spalten mit dem „CAST“-Operator in eine Dezimalzahl umzuwandeln:
select cast(dev_cost as decimal) / sell_cost from software ;
Eine andere Alternative ist die Verwendung von „::decimal“-Syntax zum Umwandeln der dev_cost-Spalte:
select dev_cost::decimal / sell_cost from software ;
Beide dieser Ansätze geben einen Gleitkommawert zurück Ergebnis, das die genaue Menge der benötigten Software darstellt.
Aufrunden auf die nächste ganze Zahl
Wenn Sie das Ergebnis auf die nächste ganze Zahl runden möchten, die die Mindestmenge darstellt Wenn Sie Software benötigen, um die dev_cost wiederherzustellen, können Sie die Funktion „CEIL“ verwenden:
select ceil(dev_cost::decimal / sell_cost) from software ;
Dadurch wird das Dezimalergebnis auf die nächste ganze Zahl aufgerundet Anzahl, um sicherzustellen, dass genügend Software verkauft wird, um die Entwicklungskosten zu decken.
Das obige ist der detaillierte Inhalt vonWie kann ich das Ergebnis der Ganzzahldivision in PostgreSQL korrekt berechnen, um eine Kürzung zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Das Beherrschen der Methode zum Hinzufügen von MySQL -Benutzern ist für Datenbankadministratoren und -entwickler von entscheidender Bedeutung, da sie die Sicherheits- und Zugriffskontrolle der Datenbank gewährleistet. 1) Erstellen Sie einen neuen Benutzer, der den Befehl createUser verwendet, 2) Berechtigungen über den Zuschussbefehl zuweisen, 3) Verwenden Sie FlushPrivileges, um sicherzustellen, dass die Berechtigungen wirksam werden.

ChooSeCharforfixed-LengthData, varcharforvariable-LengthData, undTextForLargetEXTFields.1) Charisefficiefforconsistent-LengthDatalikeCodes.2) varcharSefficienpyficyFoximent-Länge-Länge.3) VarcharSuitsVariable-Lengthdatalikenamen, BalancingFlexibilityPerance.3) textissideale

Best Practices für die Handhabung von String -Datentypen und -indizes in MySQL gehören: 1) Auswählen des entsprechenden Zeichenfolge -Typs, z. B. Zeichen für feste Länge, Varchar für variable Länge und Text für großen Text; 2) bei der Indexierung vorsichtig sein, über die Indexierung vermeiden und Indizes für gemeinsame Abfragen erstellen; 3) Verwenden Sie Präfixindizes und Volltextindizes, um lange String-Suchvorgänge zu optimieren. 4) Überwachen und optimieren Sie die Indizes regelmäßig, um die Indizes gering und effizient zu halten. Mit diesen Methoden können wir Lese- und Schreibleistung in Einklang bringen und die Datenbankeffizienz verbessern.

Toaddauerremotelytomysql, folge thesesteps: 1) connectTomysqlasroot, 2) CreateeNewuserWithremoteAccess, 3) Grant -nöterPrivilegeges und 4) flushprivileges.BecauTiousousousousous-

TostorestringseffictionlyInmysql, ChoosetherightDatatypeDonyourneeds: 1) UsecharforFixed-LengthSlikeCountrycodes.2) UseVarcharforVariable-LengthStringSlikenMamen.3) useTextforlong-formtextContent.-We useblob formainbherinaryImimages

Bei der Auswahl der Blob- und Textdatentypen von MySQL eignet sich Blob für die Speicherung von Binärdaten und der Text ist zum Speichern von Textdaten geeignet. 1) Der Blob eignet sich für binäre Daten wie Bilder und Audio, 2) Text ist für Textdaten wie Artikel und Kommentare geeignet. Bei der Auswahl müssen Dateneigenschaften und Leistungsoptimierung berücksichtigt werden.

Nein, YouShouldnotusetheroTusserinMysqlForyourProduct.instead, Createspecificusers withlimitedPrivileGeenhiteSecurity und 1) CreateOnewuserWithaStrongPassword, 2) Grantonlyn -DegetaryPothisuser, 3) regelmäßigem LyRegPassUtupdatusuSerpermings

MysqlstringDatatypessHouldbechosenbasedonDatacharacteristics undsecases: 1) UseCharforfixed-LengthStringslikecountrycodes.2) UseVarcharforvariable-Länge-Längestringslikenames.3) VerwendungBinaryorvarbinaryChryCryEcryEcryCryPlyptography.4) gebrauch


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
