Frage

Percentage Table

Ich habe einen Code, der Einträge aus einer .csv -Datei zur MySQL -Datenbank hinzufügt. Ich möchte wissen, welchen Datenatyp der Prozentsatz aus der .csv -Datei zur prozentualen Spalte in der MySQL -Tabelle hinzufügen soll. Ich habe es mit Decimal versucht (obwohl ich wusste, dass das falsch war), und ich bekam diesen Fehler.

java.sql.BatchUpdateException: Incorrect decimal value: '8%' for column 'Percentage' at row 1
War es hilfreich?

Lösung

Wenn Sie mögen möchten 80% Dann sollte der Datentyp sein varchar oder wenn Sie nur setzen wollen 80.11 Dann ist der Datentyp dezimal, den Sie verwenden.

Ich würde vorschlagen, dass Sie den Datentyp so halten, wie er ist (dezimal), da nach dem Abrufen von Datenbank, wenn Sie einige Berechnungen wünschen, für Sie eine zusätzliche Belastung ist. Wenn es Varchar wäre, müssen Sie beim Abrufen in der Zeichenfolge in Java aufbewahren. Dann müssen Sie entfernen % Dann in Float konvertieren und dann berechnet.

Andere Tipps

Decimal würde funktionieren, aber Sie würden nur einen Wert von 8 nicht "8%" speichern, was ein Varchar (String) sein müsste.

Wenn Sie die Option haben, würde ich Sie ermutigen, sie als Dezimalzahl zu speichern (das Prozentsatz entfernen) und dann die Zahl formatieren, um sie mit einem prozentualen Zeichen zu zeigen, nachdem Sie sie aus der Datenbank abgerufen haben. In diesem Fall können Sie es weiterhin als Dezimaldatentyp verwenden, sonst müssten Sie wie Varchar eine String-basierte Verwendung verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top