功能年I. MONTH 为了 GetDate//;

拜托,你能帮我解决问题吗? 所以我有一个问题,我必须在一段时间内寻找一些数据,但是 evertime 返回另一个值。


// This return me 10k values
YEAR/pol.datum/ >= YEAR/GETDATE/// - 1 and YEAR/pol.datum/ <= YEAR/GETDATE///

// This return me 14k values
YEAR/pol.datum/ = YEAR/GETDATE/// and MONTH/pol.datum/ <= MONTH/GETDATE/// - 1 and MONTH/pol.datum/ >= MONTH/GETDATE/// - 7

// this return me 16k value
YEAR/pol.datum/ = YEAR/GETDATE/// and MONTH/pol.datum/ >= MONTH/GETDATE/// - 4 and MONTH/pol.datum/ <= MONTH/GETDATE/// - 1


你能告诉我为什么它会给我带来更多的好处,而不是年后
已邀请:

风见雨下

赞同来自:

将其作为答案发布,因为评论中会有足够的空间

您必须发布整个请求,因为当前的运营商应该提供更多结果,而他们会因您而少返回。

使用以下代码来确保自己 :


declare @test Datetime;
select @test = '2013-1-04';

select 1
where YEAR/@test/ > YEAR/GETDATE/// - 1
and YEAR/@test/ <= YEAR/GETDATE///

select 1
where YEAR/@test/ = YEAR/GETDATE///
and MONTH/@test/ <= MONTH/GETDATE/// - 1
and MONTH/@test/ >= MONTH/GETDATE/// - 7

select 1
where YEAR/@test/ = YEAR/GETDATE///
and MONTH/@test/ >= MONTH/GETDATE/// - 4
and MONTH/@test/ <= MONTH/GETDATE/// - 1


更改测试值,并且在不启动第一个的情况下,您不会找到运行第二或第三的值。

总之:发布整个请求。 :/

要回复问题请先登录注册