float
Atau jika Anda ingin sekolah tua:
real
Anda juga dapat menggunakan float (53), tetapi artinya sama dengan float.
("nyata" sama dengan float (24), bukan float / float (53).)
The desimal (x, y) jenis SQL Server adalah ketika Anda ingin tepat angka desimal daripada titik (yang dapat perkiraan) mengambang. Ini berbeda dengan tipe data C # "desimal", yang lebih mirip dengan angka floating point 128-bit.
Tipe float MSSQL setara dengan tipe ganda 64-bit di .NET. (Jawaban asli saya dari 2011 mengatakan mungkin ada sedikit perbedaan dalam mantissa, tapi saya sudah menguji ini pada tahun 2020 dan mereka tampaknya 100% kompatibel dalam representasi biner mereka dari angka yang sangat kecil dan sangat besar - lihat https: / /dotnetfiddle.net/wLX5Ox untuk pengujian saya).
Untuk membuat hal-hal lebih membingungkan, "float" di C # hanya 32-bit, jadi itu akan lebih setara dalam SQL untuk tipe real / float (24) dalam MSSQL daripada float / float (53).
Dalam kasus penggunaan khusus Anda ...
Yang Anda butuhkan adalah 5 tempat setelah titik desimal untuk mewakili lintang dan bujur dalam ketelitian sekitar satu meter, dan Anda hanya perlu hingga tiga digit sebelum titik desimal untuk derajat. Float (24) atau desimal (8,5) paling sesuai dengan kebutuhan Anda di MSSQL, dan menggunakan float di C # cukup baik, Anda tidak perlu dua kali lipat. Bahkan, pengguna Anda mungkin akan berterima kasih karena membulatkan ke 5 tempat desimal daripada memiliki banyak angka tidak signifikan yang ikut dalam perjalanan.