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

乔恩·温斯坦利

在我正在处理的摘录中,我有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
利文·凯斯梅克

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

  • 如果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)

有关SQL Server 2008及更高版本中的精度损失的Edit2(对Martin Smith表示感谢)

看看如何在SQL Server中将日期和时间结合到datetime2?以防止使用SQL Server 2008及更高版本的精度损失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在SQL中将另一个条件与多个内部联接结合在一起?

替换SQL Server 2008中的最后一个字符

如何在SQL Server 2014中将结果从一个字段拆分为两个单独的字段

PHP MS SQL-在存储过程中传递多个值一个字段

SQL Server添加价格,数量与“分组依据”相同的ID,但在“分组依据”中具有另一个字段

如何在SQL查询的一个字段中求和多个字段?

每小时分组需要与以前的小时数据相加,并与SQL Server中的另一个字段相减

SQL Server:查询以在一个字段中获得多个结果

一个字段的Oracle SQL计数由另一个字段分组

SQL Server:当有多行时,仅基于一个字段选择一行

从SQL Server中的另一个字符串获取仅字符字符串

如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

如何将多行连接到SQL Server中的一个字段

SQL Server-从同一视图表中的其他字段创建值一个字段

如何确定一个字段在SQL Server 2008 R2中是否具有前导零?

Microsoft SQL Server:触发以检查由另一个字段分组的一个字段的总和是否不超过特定值?

将SQL表ID转换为PHP中的另一个字段

SQL:DATEDIFF如果开始日期大于另一个字段中的日期

如何在 SQL Server 中添加上一个字段和下一个?

在 MS SQL Server 中创建一个差异列

Sql server Pivot并从一个字段创建多个记录并拆分另一个字段

SQL Server:插入一个复杂的选择查询,其中一个字段是不同的

SQL Server - 如果该字段已被透视,如何通过另一个字段再次透视?那数据库设计正确吗?

如何获取SQL Server 2014中至少一个字段有数字的记录?

SQL Server 删除最后一个字

如何从 MS SQL Server 中的一个变量中的日期向后计算月数?

从 SQL Server 中的多行连接一个字符串

如何将 SQL 查询中一个字段的值用于 Oracle Apex 上另一个字段的值列表?

从一个表与另一个表中查找匹配的人(MS SQL Server)