Bạn chỉ cần thêm cả hai.
- nếu
Time parttrongDatecủa bạn cột luôn bằng 0 - và phần
DatetrongTimecủa bạn cột cũng luôn bằng 0 (ngày gốc:ngày 1 tháng 1 năm 1900)
Thêm chúng sẽ trả về kết quả chính xác.
SELECT Combined = MyDate + MyTime FROM MyTable
Cơ sở lý luận (kudo cho ErikE / dnolan)
Nó hoạt động như vậy do cách ngày được lưu trữ dưới dạng hai số nguyên
Integers4 byte với 4 byte bên trái làdatevà 4 byte bên phải làtime. Nó giống như làm$0001 0000 + $0000 0001 = $0001 0001
Chỉnh sửa liên quan đến các kiểu SQL Server 2008 mới
Date và Time là các kiểu được giới thiệu trong SQL Server 2008 . Nếu bạn khăng khăng muốn thêm, bạn có thể sử dụng Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 liên quan đến việc mất độ chính xác trong SQL Server 2008 trở lên (kudo cho Martin Smith)
Hãy xem Cách kết hợp ngày và giờ thành datetime2 trong SQL Server? để tránh mất độ chính xác khi sử dụng SQL Server 2008 trở lên.