我的SQL表中有两个列。一个是DateTime,另一个是Time
他们是格式,
DateTime - 2012-04-05 16:58:56.000
和时间 - 21:30:00.00000
我需要编写一个Query,它将返回一个列为 - 2012-04-05 21:30:00.000
你能帮助我吗?
答案 0 :(得分:8)
在SQL-Server 2008中,您可以这样添加值:
select cast(dt as date) + cast(tm as datetime)
from yourtable
以上不再有效,这是一个可在SQL Server中使用的更新版本。这也可以是edited to include additional precision:
SELECT dateadd(day, datediff(day,'19000101',dt), CAST(tm AS DATETIME))
from yourtable
答案 1 :(得分:0)
这为我工作。
Select DateAdd(d, DateDiff(d, 0, Cast(OrderDate As datetime)), Cast(Delivery_Time as datetime)) From myTable
答案 2 :(得分:0)
SELECT CAST(date_col AS DATETIME)+CAST(time_col AS DATETIME) FROM your_table
在SQL SERVER 2012上测试
答案 3 :(得分:-1)
试试这个::
Select CONCAT(DATE(column_dateTIME),column_Time) from my Table
答案 4 :(得分:-1)
对于MySQL
Select CONCAT_WS(" ", date(dattime_columnname), time(time_column)) from table_name;
对于SQL Server 2008:
select convert(varchar, datetime_column, 103) + ' ' + convert(varchar, time_column, 114)
答案 5 :(得分:-2)
试试这个:
这应该适用于SQL SERVER
select CONVERT(varchar(10),dt_col,121)+' '+cast(t_col as varchar(20))
from your_table