Можете просто да добавите двете.
- ако
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 и по-нова версия.