今天的时间戳日期

时间:2009-11-27 11:23:31

标签: sql date timestamp

嗨,大家好,请你帮帮我。我知道这很愚蠢,但在任何地方都找不到:

我有一个显示来自今天time_stamp的事件的查询,但我今天也希望包含这些事件。如何将此添加到此查询?

 ...
WHERE events.event_date > current_timestamp
ORDER BY convert (event_date, date) ASC 

当它形成时,它不会显示当天的事件。 希望我说清楚。 请多多帮助我。 ˚F

3 个答案:

答案 0 :(得分:2)

对于任何可能遇到同样问题的人,我可以如下所述:

 WHERE events.event_date > current_timestamp 
 OR TIMESTAMPDIFF(DAY, events.event_date, CURRENT_TIMESTAMP) = 0 
 ORDER BY convert (event_date, date) ASC ";

答案 1 :(得分:1)

试试这个

declare @t table(eventdt datetime)
insert into @t 
    select '12/12/2009' union all 
    select '12/15/2009'union all 
    select '11/27/2009'union all -- today's date
    select '11/26/2009' union all
    select '10/26/2009'
select * from @t where eventdt > =  CONVERT(varchar(10),current_timestamp,101)

<强>输出:

eventdt
2009-12-12 00:00:00.000
2009-12-15 00:00:00.000
2009-11-27 00:00:00.000

答案 2 :(得分:0)

如果我理解正确current_timestamp是一个包含hh:mm:ss。

的日期时间

要仅使用日期

DATEADD(dd,0, DATEDIFF(dd,0current_timestamp))

哪个应该让你只需日月值。

然后您可以将代码更改为

WHERE events.event_date >= DATEADD(dd,0, DATEDIFF(dd,0current_timestamp))
ORDER BY convert (event_date, date) ASC