7
如何在SQL Server中将日期和时间合并到datetime2?
鉴于以下组件 DECLARE @D DATE = '2013-10-13' DECLARE @T TIME(7) = '23:59:59.9999999' 将它们结合起来以产生DATETIME2(7)具有价值的结果的最佳方法是'2013-10-13 23:59:59.9999999'什么? 下面列出了一些无效的内容。 SELECT @D + @T 操作数数据类型日期对于加法运算符无效。 SELECT CAST(@D AS DATETIME2(7)) + @T 操作数数据类型datetime2对于加法运算符无效。 SELECT DATEADD(NANOSECOND,DATEDIFF(NANOSECOND,CAST('00:00:00.0000000' AS TIME),@T),@D) datediff函数导致溢出。分隔两个日期/时间实例的日期部分的数量太大。尝试将datediff与不太精确的datepart一起使用。 *使用可以避免在Azure SQL数据库和SQL Server 2016中发生溢出DATEDIFF_BIG。 SELECT CAST(@D AS DATETIME) + @T 数据类型datetime和time在add运算符中不兼容。 SELECT CAST(@D AS DATETIME) + CAST(@T AS DATETIME) …