Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Điều gì đại diện cho một đôi trong máy chủ sql?

float

Hoặc nếu bạn muốn đi học cũ:

real

Bạn cũng có thể sử dụng float (53), nhưng nó có nghĩa tương tự như float.

("real" tương đương với float (24), không phải float / float (53).)

Số thập phân (x, y) Loại SQL Server dành cho khi bạn muốn chính xác số thập phân chứ không phải dấu phẩy động (có thể là số gần đúng). Điều này trái ngược với kiểu dữ liệu C # "thập phân", giống như một số dấu phẩy động 128 bit.

float của MSSQL loại tương đương với 64-bit double gõ vào .NET. (Câu trả lời ban đầu của tôi từ năm 2011 cho biết có thể có một chút khác biệt trong phần định trị, nhưng tôi đã thử nghiệm điều này vào năm 2020 và chúng dường như tương thích 100% trong biểu diễn nhị phân của cả số rất nhỏ và số rất lớn - xem https:/ /dotnetfiddle.net/wLX5Ox cho thử nghiệm của tôi).

Để làm cho mọi thứ trở nên khó hiểu hơn, một "float" trong C # chỉ là 32-bit, vì vậy nó sẽ tương đương trong SQL với kiểu real / float (24) trong MSSQL hơn là float / float (53).

Trong trường hợp sử dụng cụ thể của bạn ... Tất cả những gì bạn cần là 5 vị trí sau dấu thập phân để biểu thị vĩ độ và kinh độ trong độ chính xác khoảng một mét và bạn chỉ cần tối đa ba chữ số trước dấu thập phân cho các độ. Float (24) hoặc decimal (8,5) sẽ phù hợp nhất với nhu cầu của bạn trong MSSQL và sử dụng float trong C # là đủ tốt, bạn không cần gấp đôi. Trên thực tế, người dùng của bạn có thể sẽ cảm ơn bạn vì đã làm tròn đến 5 chữ số thập phân hơn là có một loạt các chữ số không đáng kể xuất hiện trong chuyến đi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để viết CẬP NHẬT SQL với bí danh Bảng trong SQL Server 2008?

  2. Thay đổi các loại cột trong một bảng lớn

  3. Làm cách nào để lấy danh sách các bảng trong thủ tục được lưu trữ?

  4. ABS () Ví dụ trong SQL Server

  5. Hướng dẫn phân vùng và phân vùng bảng SQL Server