Simplemente puede agregar los dos.
- si la
Time part
de suDate
la columna siempre es cero - y la
Date part
de tuTime
la columna también es siempre cero (fecha base:1 de enero de 1900)
Agregarlos devuelve el resultado correcto.
SELECT Combined = MyDate + MyTime FROM MyTable
Fundamento (felicitaciones a ErikE/dnolan)
Funciona así debido a la forma en que la fecha se almacena como dos Integers
de 4 bytes siendo los 4 bytes de la izquierda la date
y los 4 bytes de la derecha son el time
. Es como hacer $0001 0000 + $0000 0001 =
$0001 0001
Editar sobre los nuevos tipos de SQL Server 2008
Date
y Time
son tipos introducidos en SQL Server 2008
. Si insiste en agregar, puede usar Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 sobre la pérdida de precisión en SQL Server 2008 y versiones posteriores (felicitaciones a Martin Smith)
Eche un vistazo a ¿Cómo combinar fecha y hora con datetime2 en SQL Server? para evitar la pérdida de precisión con SQL Server 2008 y versiones posteriores.