2010-05-23 38 views
6

Có ai biết cách chuyển đổi một COLUN DATETIME thành TICKS trong SQL Server không?Chuyển đổi ngày sang các dấu tích trong SQL Server

+0

Tại sao không làm điều đó trong mã .NET (nơi dễ dàng)? – Richard

+0

Bởi vì tôi có một số hồ sơ trong cơ sở dữ liệu và tôi cần phải chuyển đổi chúng bằng một truy vấn duy nhất từ ​​MSSQL – FinalDestiny

+0

Bạn có thể cung cấp cho chúng tôi một số chi tiết hơn về lý do bạn cần thực hiện chuyển đổi này trong SQL Server không? – Thomas

Trả lời

8

Nếu bạn đang cố gắng để t-sql chuyển đổi giá trị thành các dấu có thể được so sánh với giá trị "tương tự" được tạo trong .NET thì nó sẽ không hoạt động. Kiểu dữ liệu DateTime trong SQL Server chỉ có độ chính xác khoảng 0,003 giây (giá trị thực được làm tròn thành .000, .003 hoặc .007) hoặc 10 -3 trong khi kiểu dữ liệu DateTime trong .NET có độ chính xác là 100 nano giây (10 -7).

+0

ok cảm ơn bạn rất nhiều – FinalDestiny

+2

datetime2 trong SQL Server 2008 hiện sửa lỗi này phần nào – gbn

+0

@gbn - Không thực sự. Nếu bạn đã lưu trữ các giá trị từ .NET vào một DateTime2 (7), thì do độ chính xác bổ sung, bạn có thể nhận được một trận đấu 1: 1. Nhưng tôi không thực sự chắc chắn làm thế nào bạn có thể tính toán một giá trị Ticks tương đương ra khỏi một DateTime2 (7) cho những hạn chế của DateDiff. – Thomas

Các vấn đề liên quan