【问题标题】:SQL Server 2012, Concat a Date with a Time column to insert into a DateTime column in another tableSQL Server 2012,将日期与时间列连接到另一个表中的日期时间列中
【发布时间】:2013-04-21 07:03:25
【问题描述】:
在 SQL Server 2012 中...我在一个表中有两列,
交易日期(日期,空)和
TransactionTime(time, null)
我需要将它们连接在一起以插入另一个表的列,该列是日期时间数据类型。
这可能吗?
提前致谢。
【问题讨论】:
标签:
sql
sql-server
database-design
【解决方案2】:
试试这个 -
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
【解决方案3】:
dateadd(millisecond, datediff(millisecond, '00:00', TransactionTime), cast(TransactionDate as datetime))
计算从午夜开始的毫秒数作为时间值并将其添加到您的日期值中。
【解决方案4】:
为什么不
SELECT TransactionDate+ CAST(TransactionTime AS datetime)
FROM table