Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL查询连接日期和时间变量_Sql_Sql Server_Sql Server 2008_Datetime - Fatal编程技术网

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

使用SQL查询连接日期和时间变量,sql,sql-server,sql-server-2008,datetime,Sql,Sql Server,Sql Server 2008,Datetime,我的SQL表中有两列。一个是日期时间,另一个是时间 它们的格式是, DateTime-2012-04-05 16:58:56.000和Time-21:30:00.00000 我需要编写一个查询,返回一列-2012-04-05 21:30:00.000 你能帮我吗?试试这个: Select CONCAT(DATE(column_dateTIME),column_Time) from my Table 试试这个: Select CONCAT(DATE(column_dateTIME),column

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

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

你能帮我吗?

试试这个:

Select CONCAT(DATE(column_dateTIME),column_Time) from my Table
试试这个:

Select CONCAT(DATE(column_dateTIME),column_Time) from my Table
试试这个:

这应该在SQL SERVER中工作

select CONVERT(varchar(10),dt_col,121)+' '+cast(t_col as varchar(20)) 
from your_table
试试这个:

这应该在SQL SERVER中工作

select CONVERT(varchar(10),dt_col,121)+' '+cast(t_col as varchar(20)) 
from your_table
在SQL Server 2008中,可以通过以下方式添加值:

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

以上内容不再适用,下面是一个更新版本,可以在SQL Server中使用。这也可以是:

.

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

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

以上内容不再适用,下面是一个更新版本,可以在SQL Server中使用。这也可以是:

.

用于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) 
对于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) 
这对我有用

Select DateAdd(d, DateDiff(d, 0, Cast(OrderDate As datetime)), Cast(Delivery_Time as datetime))   From myTable
这对我有用

Select DateAdd(d, DateDiff(d, 0, Cast(OrderDate As datetime)), Cast(Delivery_Time as datetime))   From myTable
在SQL SERVER 2012上测试


在SQL SERVER 2012上测试

它返回
“日期”不是可识别的内置函数名。
@SashiKant问题是关于SQL SERVER的,我已经重新标记了它。您的sql server kung fu Sashi怎么样?它返回
“DATE”不是可识别的内置函数名。
@SashiKant问题是关于sql server的,我已经重新标记了它。您的sql server kung fu Sashi怎么样了?从2012年开始,它就不起作用了,实际上它将日期更改为了一些新的日期date@hsanivag考虑到这是SQL Server 2008标记的,答案是特定于该版本的。SQL Fiddle链接确认它确实适用于该版本。请检查此处的解释,这段代码运行良好,但对于特定场景,下面的链接将为您提供更好的解释@hsanivag我已经用一个版本更新了答案,该版本应在2012年生效。这在2012年起不起作用,实际上将日期更改为一些新的日期date@hsanivag考虑到这是用SQL Server 2008标记的,答案是明确的到那个版本。SQL Fiddle链接确认它确实适用于该版本。请检查此处的解释,该代码工作正常,但适用于特定场景,下面的链接将为您提供更好的解释@hsanivag我已更新了答案,该版本应适用于2012年。工作正常,但适用于特定场景。请查看下面的链接,以了解其他说明工作正常,但适用于特定场景。请查看下面的链接以了解更多说明