Los está almacenando como texto (nvarchar
), por eso obtienes orden lexográfico
. Eso significa que cada carácter se compara entre sí de izquierda a derecha. Por lo tanto 4000
es "mayor" que 30000
(el último cero no importa ya que el primer 4 ya es más alto que el 3).
Entonces, la forma correcta es almacenarlo como un valor numérico. Sin embargo, eso parece imposible ya que también usa valores como 16.000 with 4.1/2"DP
. Luego agregaría otra columna, una para el valor numérico por el que desea ordenar y la otra para la representación textual.