Frage Zweistellige Werte bei Größer/Kleinervergleich fehlerhaft

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

StephanBo

Mitglied
28 Januar 2012
175
0
16
Ein sehr seltsames Problem macht sich gerade bemerkbar.

Es geht um eine Tabellenberechnung beim Fußball. Eine Mannschaft mit mehr Toren als die Gegnermannschaft soll 3 Punkte erhalten. Der Codeschnipsel hierzu ist leicht: "... WHEN ScoreSelf > ScoreOther THEN 3 ..." und alles klappte wunderbar.

Jetzt gibt es jedoch ein Spiel mit einem 10:2 Ergebnis und sonderbarerweise erhält nicht die Heimmannschaft die 3 Punkte, sondern die Auswärtsmannschaft. Wenn ich das Ergebnis auf 9:2 ändere klappt aber wieder alles normal. Es muss also an der zweistelligen Zahl liegen (die auch korrekt in der DB als zweistellige Zahl gespeichert wird).

Aber warum tut sich hier ein Problem auf? Ich habe schon versucht den Datentyp umzustellen (Text, Varchar und Tinyint probiert) aber bei allen dreien das selbe Problem. Ich habe absolut keine logische Erklärung hierfür, warum die SQL-Berechnung Probleme mit zweistelligen Zahlen zu haben scheint und aus einem 10 > 2 ein 10 < 2 macht. Meine Vermutung ist, dass die 10 nicht als 10 erkannt wird, sondern als 1 oder 0. Aber das macht immer noch keinen Sinn.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.657
195
63
Du hast ein Zahl und speicherst sie aber als Text ab, alleine daran sollte dir etwas auffallen.
 

StephanBo

Mitglied
28 Januar 2012
175
0
16
Habe doch geschrieben, dass ich es nur testhalber geändert habe, um es mit andere Datentypen zu vergleichen.

Ein 10:0 oder ein 10:1 erkennt die Berechnung übrigens als richtig. Nur ein 10:2 nicht.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.657
195
63
Poste doch mal die Tabellenstruktur, idealerweise auch ein paar Daten und dein Script
 
Werbung:

Neueste Beiträge