Simplemente puede agregar los dos.
- si la
Time partde suDatela columna siempre es cero - y la
Date partde tuTimela 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.