小编典典

如何将一个字段中的日期与另一个字段中的时间结合在一起-MS SQL Server

sql

在我要处理的摘录中,我有2datetime列。如图所示,一列存储日期,另一列存储时间。

如何查询表以将这两个字段组合为1个类型的列datetime

日期

2009-03-12 00:00:00.000
2009-03-26 00:00:00.000
2009-03-26 00:00:00.000

时报

1899-12-30 12:30:00.000
1899-12-30 10:00:00.000
1899-12-30 10:00:00.000

阅读 134

收藏
2021-05-05

共1个答案

小编典典

您可以简单地将两者相加。

  • 如果Time part你的Date列始终为零
  • 并且Date part你的Time栏也始终为零 (基准日:1900年1月1日)

添加它们将返回正确的结果。

SELECT Combined = MyDate + MyTime FROM MyTable

基本原理(对ErikE / dnolan表示敬意)

由于日期存储为两个4字节Integers,左边的4个字节为date,右边的4个字节为的方式,因此它的工作原理是这样
time。就像在做$0001 0000 + $0000 0001 = $0001 0001

编辑有关新的SQL Server 2008类型

DateTime是在中引入的类型SQL Server 2008。如果您坚持添加,则可以使用Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)

2021-05-05