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

Frage Zweistellige Werte bei Größer/Kleinervergleich fehlerhaft

StephanBo

Mitglied
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.
 
Du hast ein Zahl und speicherst sie aber als Text ab, alleine daran sollte dir etwas auffallen.
 
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.
 
Poste doch mal die Tabellenstruktur, idealerweise auch ein paar Daten und dein Script
 
Zurück
Oben