Sql Server'da bir çift neyi temsil eder?
Ben bir kaç Özellikleri C#
double
yaşamak istiyorum deposu bu bir tablo, SQL Server, ama fark yok double
yazın ne olduğunu en iyi şekilde kullanmak, decimal
float
?
Bu en doğru hassas ihtiyacım var yani enlem ve boylam değerleri depolar.
Cevaplar için teşekkürler şimdiye kadar.
CEVAP
float
Ya da eğer eski okul gitmek istiyorum:
real
Ayrıca şamandıra(53) kullanabilirsiniz, ama şamandıra olarak aynı anlama geliyor.
(""kaydır(24) eşdeğerdir/kaydır(53) yüzer.)
decimal(x,y)SQL Server türü istediğinizde içinkesinondalık sayılar yerine kayan nokta yaklaşımlar olabilir). Bu C ile tezat oluşturuyor# "ondalık" ve daha küçük olan veri türü, bir 128-bit kayan nokta sayısı.
MSSQLyüzeryoktam olarak64-bit olarak aynı hassasiyetçiftyazın .NET (mantis IIRC küçük fark), ama yeterince yakın bir maçta en çok kullanır.
İşin daha kafa karıştırıcı, bir "şamandıra" C# yalnızca 32-bit, bu kadar olur Daha fazla eşdeğer SQL için gerçek/kaydır(24) yazın MSSQL daha şamandıra/şamandıra(53).
Özel kullanım durum... Tüm ihtiyacınız olan, bir metre hakkında içinde enlem ve boylam hassasiyet göstermek için ondalık noktadan sonra 5 basamağa ve sadece üç basamak derece için ondalık noktadan önce. Kaydır(24) veya ondalık(8,5) en iyi MSSQL ihtiyaçlarınıza uyacak ve şamandıra kullanarak C# yeterince iyi, çift ihtiyacın yok. Aslında, kullanıcılar muhtemelen 5 ondalık yuvarlama yerine anlamsız basamak binmek için birlikte gelen bir grup olması için size teşekkür edecek.