使用SQL查询连接日期和时间变量

时间:2012-09-10 10:36:37

标签: sql sql-server sql-server-2008 datetime

我的SQL表中有两个列。一个是DateTime,另一个是Time 他们是格式, DateTime - 2012-04-05 16:58:56.000和时间 - 21:30:00.00000

我需要编写一个Query,它将返回一个列为 - 2012-04-05 21:30:00.000

你能帮助我吗?

6 个答案:

答案 0 :(得分:8)

在SQL-Server 2008中,您可以这样添加值:

select cast(dt as date) + cast(tm as datetime)
from yourtable

SQL Fiddle with Demo

以上不再有效,这是一个可在SQL Server中使用的更新版本。这也可以是edited to include additional precision

SELECT dateadd(day, datediff(day,'19000101',dt), CAST(tm AS DATETIME))
from yourtable

See Demo

答案 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