Możesz po prostu dodać te dwa.
- jeśli
Time part
TwojejDate
kolumna jest zawsze zero - i
Date part
TwojegoTime
kolumna ma zawsze zero (data bazowa:1 stycznia 1900)
Dodanie ich zwraca poprawny wynik.
SELECT Combined = MyDate + MyTime FROM MyTable
Uzasadnienie (chwała dla Erika/dnolana)
Działa to w ten sposób ze względu na sposób, w jaki data jest przechowywana jako dwie 4-bajtoweIntegers
z lewymi 4 bajtami będącymi date
a prawe 4 bajty to time
. To jak robienie $0001 0000 + $0000 0001 =
$0001 0001
Edycja dotycząca nowych typów SQL Server 2008
Date
i Time
to typy wprowadzone w SQL Server 2008
. Jeśli nalegasz na dodanie, możesz użyć Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 dotyczący utraty precyzji w SQL Server 2008 i nowszych (chwała dla Martina Smitha)
Zobacz Jak połączyć datę i godzinę z datetime2 w SQL Server? aby zapobiec utracie precyzji przy użyciu SQL Server 2008 i nowszych.