需要声明时间并希望getdate()仅返回日期并加入两个结果

时间:2016-07-06 03:40:23

标签: sql sql-server datetime

我有一个像时间这样的专栏

time        
2016-04-05 23:41:00 

我想做一个自动插入时间的工作。但我面临的问题是来自getdate()我今天的日期和时间。

我们可以声明时间并且只从getdate()函数获取日期吗?

类似的东西:

declare @time = '07:00:00'+convert(varchar(10),getdate()-1,120)

我希望输出2016-04-05 07:00:00

2 个答案:

答案 0 :(得分:2)

实现此目的的一种方法是将您从GetDate()返回的值转换为Date数据类型并返回DateTime,并将时间值添加到其中(投射它)从Time数据类型到DateTime),如下所示:

DECLARE @Time time = '07:00:00'

SELECT  GETDATE() As CurrentTime, 
        CAST(CAST(GETDATE() As Date) As Datetime) + CAST(@Time as datetime) As TimeToday

结果

CurrentTime                 TimeToday
-----------------------     -----------------------
2016-07-06 04:13:11.090     2016-07-06 07:00:00.000

答案 1 :(得分:0)

试试这个。

declare @time varchar(20) = convert(varchar(20),getdate(),120)