Anda cukup menambahkan keduanya.
- jika
Time part
dariDate
. Anda kolom selalu nol - dan bagian
Date
dariTime
. Anda kolom juga selalu nol (tanggal dasar:1 Januari 1900)
Menambahkannya akan mengembalikan hasil yang benar.
SELECT Combined = MyDate + MyTime FROM MyTable
Alasan (pujian untuk ErikE/dnolan)
Ini berfungsi seperti ini karena cara tanggal disimpan sebagai dua
Integers
4-byte dengan 4-byte kiri menjadidate
dan 4-byte kanan menjaditime
. Ini seperti melakukan$0001 0000 + $0000 0001 = $0001 0001
Edit mengenai jenis SQL Server 2008 baru
Date
dan Time
adalah tipe yang diperkenalkan di SQL Server 2008
. Jika Anda bersikeras menambahkan, Anda dapat menggunakan Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 tentang hilangnya presisi di SQL Server 2008 dan lebih tinggi (pujian untuk Martin Smith)
Lihat Bagaimana cara menggabungkan tanggal dan waktu ke datetime2 di SQL Server? untuk mencegah hilangnya presisi menggunakan SQL Server 2008 dan yang lebih baru.