Je kunt de twee eenvoudig toevoegen.
- als het
Time part
van jeDate
kolom is altijd nul - en het
Date part
van jeTime
kolom is ook altijd nul (basisdatum:1 januari 1900)
Door ze toe te voegen krijg je het juiste resultaat.
SELECT Combined = MyDate + MyTime FROM MyTable
Rationale (een pluim voor ErikE/dnolan)
Het werkt zo vanwege de manier waarop de datum wordt opgeslagen als twee 4-byte
Integers
met de linker 4-bytes alsdate
en de juiste 4-bytes zijn detime
. Het is alsof je$0001 0000 + $0000 0001 = $0001 0001
. doet
Bewerken met betrekking tot nieuwe SQL Server 2008-typen
Date
en Time
zijn typen geïntroduceerd in SQL Server 2008
. Als u erop staat toe te voegen, kunt u Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
gebruiken
Edit2 betreffende verlies van precisie in SQL Server 2008 en hoger (kudos voor Martin Smith)
Kijk eens bij Hoe datum en tijd combineren tot datetime2 in SQL Server? om verlies van precisie te voorkomen bij gebruik van SQL Server 2008 en hoger.