2つ追加するだけです。
- 場合
Time part
あなたのDate
の 列は常にゼロです - および
Date part
あなたのTime
の 列も常にゼロです(基準日:1900年1月1日)
それらを追加すると、正しい結果が返されます。
SELECT Combined = MyDate + MyTime FROM MyTable
Rationale(kudosからErikE / dnolan)
日付が2つの4バイト
Integers
として格納される方法により、このように機能します 残りの4バイトはdate
右の4バイトはtime
。$0001 0000 + $0000 0001 = $0001 0001
を実行するようなものです
新しいSQLServer2008タイプに関する編集
Date
およびTime
SQL Server 2008
で導入されたタイプです 。追加を主張する場合は、Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
を使用できます。
SQL Server 2008以降での精度の低下に関するEdit2(Kudos to Martin Smith)
SQLServerで日付と時刻をdatetime2に結合する方法をご覧ください。 SQLServer2008以降を使用して精度が低下するのを防ぐため。