我有两列orderdate(03/02/2011)
和ordertime(10.34 am)
,其中我必须连接这两列,并在另一列中将其显示为日期时间值(03/02/2011 10:34:16.190)
....
任何建议?
答案 0 :(得分:3)
通常,解决方案是在时间值上添加天数,其时间为零。您不清楚这两个值的数据类型,但是一个解决方案是:
With Inputs As
(
Select '20110302' As DateVal, '10:34 AM' As TimeVal
)
Select DateAdd(d, DateDiff(d, 0, Cast(DateVal As datetime)), Cast(TimeVal as datetime))
From Inputs
更明确的版本,假设输入是字符串并给出您的确切输入:
Set DateFormat MDY
With Inputs As
(
Select '03/02/2011' As DateVal, '10:34 AM' As TimeVal
)
Select DateAdd(d, DateDiff(d, 0, Cast(DateVal As datetime)), Cast(TimeVal as datetime))
From Inputs
答案 1 :(得分:2)
假设您使用的是DATE
和TIME
,则需要先转换才能添加。
SELECT [orderdate] + CONVERT(datetime, [ordertime])
答案 2 :(得分:0)
您想以编程方式或在SQL Server中使用:
在Sql Server中:
选择orderdate + ordertime作为'YourColumnName'
希望这有帮助。答案 3 :(得分:0)
在MySQL中,它会像这样工作
SELECT Concat(orderdate, " ", ordertime) FROM vendors ORDER BY vend_name;