Sql server 区间函数有问题吗。我使用它的方式?

Sql server 区间函数有问题吗。我使用它的方式?,sql-server,Sql Server,对于MSSQL服务器,您可以尝试 select top 10 * from James.activity_gc a left join James.activity_gc as James.activity_gc1 b on a.user_id = b.user_id and a.time = b.time - interval '1' day 问题被标记为sql server,但sql server不使用Interval关键字。相反,您可以这样做: select top 10 * f

对于MSSQL服务器,您可以尝试

select top 10 * 
from James.activity_gc a 
left join James.activity_gc as James.activity_gc1 b 
on a.user_id = b.user_id
and a.time = b.time - interval '1' day

问题被标记为
sql server
,但sql server不使用
Interval
关键字。相反,您可以这样做:

select top 10 * 
from James.activity_gc a 
left join James.activity_gc as James.activity_gc1 b 
on a.user_id = b.user_id
and DATEDIFF(day, a.time, b.time) = 1

你从哪里得到这个间隔函数的规格?此外,您还标记了MS SQL Server和google bigquery。你在用哪一个?我在用这两个。但是如果我通过了任何一个都是好的当你尝试时会发生什么?如果你还没有试过,你应该在发帖前试过。如果你试过,你应该告诉我们发生了什么。我在这里发布之前已经试过了-Msg 102,15级,状态1,第5行“1”附近的语法不正确。非常感谢。这在SQL Server中起作用。谢谢你,乔尔。谷歌大查询中有类似的东西吗?如果你能帮忙的话。我也能帮你解决这个大问题。一切正常!!!谢谢大家的帮助。
select top 10 * 
from James.activity_gc a 
left join James.activity_gc as James.activity_gc1 b 
    on a.user_id = b.user_id
    and a.time = DATEADD(day, -1, b.time)