0

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

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

你能帮助我吗?

4

6 回答 6

8

在 SQL-Server 2008 中,您可以通过以下方式添加值:

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

请参阅带有演示的 SQL Fiddle

以上不再有效,这是一个可以在 SQL Server 中工作的更新版本。这也可以编辑以包括额外的精度

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

请参阅演示

于 2012-09-10T10:54:40.710 回答
0

这对我有用。

Select DateAdd(d, DateDiff(d, 0, Cast(OrderDate As datetime)), Cast(Delivery_Time as datetime))   From myTable
于 2012-09-10T11:01:47.757 回答
0
SELECT CAST(date_col AS DATETIME)+CAST(time_col AS DATETIME) FROM your_table

在 SQL SERVER 2012 上测试

于 2016-07-19T20:07:44.163 回答
-1

试试这个::

Select CONCAT(DATE(column_dateTIME),column_Time) from my Table
于 2012-09-10T10:40:24.903 回答
-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) 
于 2012-09-10T10:55:21.277 回答
-2

试试这个:

这应该在 SQL SERVER 中工作

select CONVERT(varchar(10),dt_col,121)+' '+cast(t_col as varchar(20)) 
from your_table
于 2012-09-10T10:54:20.790 回答