Du kan helt enkelt lägga till de två.
- om
Time partav dittDatekolumnen är alltid noll - och
Date partav dinTimekolumnen är också alltid noll (basdatum:1 januari 1900)
Om du lägger till dem får du rätt resultat.
SELECT Combined = MyDate + MyTime FROM MyTable
Rational (kudos till ErikE/dnolan)
Det fungerar så här på grund av hur datumet lagras som två 4-byte
Integersmed den vänstra 4-byten somdateoch höger4-byte ärtime. Det är som att göra$0001 0000 + $0000 0001 = $0001 0001
Redigera angående nya SQL Server 2008-typer
Date och Time är typer som introduceras i SQL Server 2008 . Om du insisterar på att lägga till kan du använda Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Redigering2 angående förlust av precision i SQL Server 2008 och uppåt (kudos till Martin Smith)
Ta en titt på Hur man kombinerar datum och tid till datetime2 i SQL Server? för att förhindra förlust av precision med SQL Server 2008 och senare.