我需要获取不包括当月和今年在内的数据值。
我目前拥有的是以下
class Second_Class {
function __construct() {
// do same other stuff
}
function do_stuff() {
foreach( ctp()->get_ctp_taxs() as $tax_name => $tax_object ) {
// do stuff
}
}
}
显然,这也将排除我想避免的2018年当月数据。
我已经在线检查了其他解决方案,但未能应用。
答案 0 :(得分:3)
我会简单地做:
where created_at < dateadd(day, 1 - day(getdate()), cast(getdate as date))
这也是可预测的-满口表示可以将索引用于查询。
您也可以这样写:
where created_at < datefromparts(year(getdate()), month(getdate()), 1)
这实际上更好更清楚。
答案 1 :(得分:1)
与您的问题相关的正确WHERE子句将是
WHERE created_at BETWEEN '2018-01-01' AND (DATEADD(dd, -1 ,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))