2

在 SQL Server 2012 中...我在表中有两列,TransactionDate(date,null) 和 TransactionTime(time, null)

我需要将它们连接在一起以插入另一个表的列,该列是日期时间数据类型。

这可能吗?

提前致谢。

4

4 回答 4

2

为什么不

SELECT TransactionDate+ CAST(TransactionTime AS datetime)
FROM table
于 2013-04-27T21:01:44.543 回答
1
dateadd(millisecond, datediff(millisecond, '00:00', TransactionTime), cast(TransactionDate as datetime))

计算时间值自午夜以来的毫秒数,并将其添加到您的日期值。

于 2013-04-27T05:55:27.163 回答
1

试试这个——

DECLARE @temp TABLE
(
      TransactionDate DATE
    , TransactionTime TIME
)

INSERT INTO @temp (TransactionDate, TransactionTime)
VALUES 
    ('2013-04-27', '08:37:01.217'),
    ('2013-04-27', '12:39:14.613')

--INSERT INTO ... (DatetimeColumn)
SELECT CAST(TransactionDate AS VARCHAR(10)) + ' ' + CAST(TransactionTime AS VARCHAR(12))
FROM @temp
于 2013-04-27T05:46:14.433 回答
0

也许最好的起点是日期和时间数据类型/函数的 SQL Server 在线指南:http: //msdn.microsoft.com/en-us/library/ms186724.aspx

您应该能够使用与DATEPART功能结合的DATETIMEFROMPARTS功能来实现这一点。

于 2013-04-27T03:33:07.590 回答