Du lagrar dem som text(nvarchar
), det är därför du får lexografisk ordning
. Det betyder att varje karaktär jämförs med varandra från vänster till höger. Därav 4000
är "högre" än 30000
(den sista nollan spelar ingen roll eftersom de fyra första redan är högre än de tre).
Så det korrekta sättet är att lagra det som ett numeriskt värde. Det verkar dock vara omöjligt eftersom du också använder värden som 16.000 with 4.1/2"DP
. Sedan skulle jag lägga till ytterligare en kolumn, en för det numeriska värdet du vill sortera efter och den andra för textrepresentationen.