在 SQL Server 2012 中...我在表中有两列,TransactionDate(date,null) 和 TransactionTime(time, null)
我需要将它们连接在一起以插入另一个表的列,该列是日期时间数据类型。
这可能吗?
提前致谢。
在 SQL Server 2012 中...我在表中有两列,TransactionDate(date,null) 和 TransactionTime(time, null)
我需要将它们连接在一起以插入另一个表的列,该列是日期时间数据类型。
这可能吗?
提前致谢。
为什么不
SELECT TransactionDate+ CAST(TransactionTime AS datetime)
FROM table
dateadd(millisecond, datediff(millisecond, '00:00', TransactionTime), cast(TransactionDate as datetime))
计算时间值自午夜以来的毫秒数,并将其添加到您的日期值。
试试这个——
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
也许最好的起点是日期和时间数据类型/函数的 SQL Server 在线指南:http: //msdn.microsoft.com/en-us/library/ms186724.aspx
您应该能够使用与DATEPART
功能结合的DATETIMEFROMPARTS
功能来实现这一点。