Anda menyimpannya sebagai teks(nvarchar ), itu sebabnya Anda mendapatkan urutan leksikal
. Itu berarti setiap karakter dibandingkan satu sama lain dari kiri ke kanan. Oleh karena itu 4000 adalah "lebih tinggi" dari 30000 (nol terakhir tidak masalah karena 4 pertama sudah lebih tinggi dari 3).
Jadi cara yang benar adalah menyimpannya sebagai nilai numerik. Namun, sepertinya tidak mungkin karena Anda juga menggunakan nilai seperti 16.000 with 4.1/2"DP . Kemudian saya akan menambahkan kolom lain, satu untuk nilai numerik yang ingin Anda pesan dan yang lainnya untuk representasi tekstual.