Puoi semplicemente aggiungere i due.
- se la
Time part
della tuaDate
la colonna è sempre zero - e la
Date part
del tuoTime
anche la colonna è sempre zero (data base:1 gennaio 1900)
La loro aggiunta restituisce il risultato corretto.
SELECT Combined = MyDate + MyTime FROM MyTable
Razionale (complimenti a ErikE/dnolan)
Funziona così a causa del modo in cui la data viene memorizzata come due Integers
a 4 byte con i 4 byte a sinistra come date
e i 4 byte di destra sono il time
. È come fare $0001 0000 + $0000 0001 =
$0001 0001
Modifica relativa ai nuovi tipi di SQL Server 2008
Date
e Time
sono tipi introdotti in SQL Server 2008
. Se insisti per aggiungere, puoi usare Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Modifica2 relativa alla perdita di precisione in SQL Server 2008 e versioni successive (complimenti a Martin Smith)
Dai un'occhiata a Come combinare data e ora in datetime2 in SQL Server? per prevenire la perdita di precisione con SQL Server 2008 e versioni successive.