我有两列orderdate(03/02/2011)
和ordertime(10.34 am)
在我所来连接这两列,并显示在另一列datetime值(03/02/2011 10:34:16.190)
....在sql中连接两列与日期和时间?
什么建议吗?
我有两列orderdate(03/02/2011)
和ordertime(10.34 am)
在我所来连接这两列,并显示在另一列datetime值(03/02/2011 10:34:16.190)
....在sql中连接两列与日期和时间?
什么建议吗?
通常情况下,解决方案是将日期添加到时间值,其日期部分为零。你是不是清楚的数据类型的两个值,然而,一个解决办法是:
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
要在编程或SQL Server:
在SQL服务器:
选择订购日期+ ordertime为 'YourColumnName'
希望这有助于。
在MySQL,它会像这样工作
SELECT Concat(orderdate, " ", ordertime) FROM vendors ORDER BY vend_name;
假设你是一个DATE
和TIME
工作,你需要转换,然后才能添加。
SELECT [orderdate] + CONVERT(datetime, [ordertime])
你是怎么从'10:34 AM`的输入中获得`10:34:16.190`的时间? – Thomas 2011-02-03 06:45:10
可能重复[如何将来自一个字段的日期与来自另一个字段的时间相结合 - MS SQL Server](http://stackoverflow.com/questions/700619/how-to-combine-date-from-one-field-with -time-from-another-field-ms-sql-server) – 2011-02-03 07:20:38