Můžete jednoduše přidat dva.
- pokud
Time part
vašehoDate
sloupec je vždy nula - a
Date part
vašehoTime
sloupec je také vždy nula (základní datum:1. ledna 1900)
Jejich přidáním se vrátí správný výsledek.
SELECT Combined = MyDate + MyTime FROM MyTable
Odůvodnění (chvála ErikE/dnelanovi)
Funguje to takto, protože datum je uloženo jako dvě 4bajtová
Integers
přičemž levé 4 bajty jsoudate
a pravé 4 bajty jsoutime
. Je to jako dělat$0001 0000 + $0000 0001 = $0001 0001
Úpravy týkající se nových typů SQL Server 2008
Date
a Time
jsou typy představené v SQL Server 2008
. Pokud trváte na přidání, můžete použít Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Úprava 2 týkající se ztráty přesnosti v SQL Server 2008 a novějších (chvála Martinu Smithovi)
Podívejte se na Jak zkombinovat datum a čas s datetime2 v SQL Server? abyste zabránili ztrátě přesnosti pomocí SQL Server 2008 a vyšší.