Можете просто да добавите двете.
- ако
Time partна вашатаDateколоната винаги е нула - и
Date partот вашетоTimeколоната също винаги е нула (базова дата:1 януари 1900 г.)
Добавянето им връща правилния резултат.
SELECT Combined = MyDate + MyTime FROM MyTable
Обосновка (поздравления за ErikE/dnolan)
Работи по този начин поради начина, по който датата се съхранява като две 4-байтови
Integersкато левите 4 байта саdateа десните 4 байта саTime. Все едно да правиш$0001 0000 + $0000 0001 = $0001 0001
Редактиране по отношение на новите типове SQL Server 2008
Date и Time са типове, въведени в SQL Server 2008 . Ако настоявате за добавяне, можете да използвате Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 относно загубата на прецизност в SQL Server 2008 и по-нови версии (поздравления за Мартин Смит)
Разгледайте Как да комбинирате дата и час към datetime2 в SQL Server? за да предотвратите загуба на прецизност при използване на SQL Server 2008 и по-нова версия.