Zitat von
xZise:
Und was bringt mir ein solcher Vergleich? (Auch an Dax)
Durch die Umwandlung der verschiedenen Versionszahlen in einen Integer erreichst du genau das, was du willst: ein Vergleich VerA > VerB ergibt nur dann
true wenn [u]mindestens eine[b] Versionszahl von VerB größer ist als die entsprechende Versionszahl aus VerA. Das ist einfache Arithmetik
Der Grund dafür ist simpel: du hast vier Zahlen A, B, C und D, die man als Werte der ersten, zweiten, ... Position eines Stellenwertsystems S1 ansehen kann. Durch die von uns vorgeschlagene Umwandlung der vier Zahlen in eine einzige transferierst du diese Zahlen A, B, C, D in ein anderes Stellenwertsystem S2, dass diesmal pro Stelle *mehr* Informationen enthalten kann. Da S1 und S2 wohlgeordnet sind, gelingt dieser Vergleich immer.
Oder anders gesagt: weil 10A + B > 10C + D das selbe ist wie (A > B and C >= D) or (A >= B and C > D) - was sich auf beliebig viele Stellen erweitern lässt
Edit: unter der Vorraussetzung, dass A, B, C, D die eigenen Versionszahlen sind und E, F, G, H die auf dem Server, könnte dein Vergleich auch einfach not (A <= E and B <= F and C <= G and D <= H) sein.