SQL select 条包含当前月份的记录

SQL select records with current month

我有一个字段名 textbook date 字段名 NewMonth
这样的数据

TextBook     NewMonth
ABC          2020-01-01
HDS          2020-01-30 
ZXY          2020-02-15
FGD          2020-02-01
YTS          2020-04-02
HFH          2020-04-05 
EDD          2020-03-25

我的目标是 select 本月 (2020-04-XX) 的记录

TextBook     NewMonth
YTS          2020-04-02
HFH          2020-04-05

我的查询无效。有人可以纠正我的查询吗?谢谢

SELECT TextBook, NewMonth
   from  Store
   where NewMOnth >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -1, current_timestamp)), 0)

我认为当月为 -1,过去 2 个月为 -2,过去 3 个月为 -3,依此类推

My goal to select the records with current month (2020-04-XX)

这是一个选项:

where NewMonth >= datefromparts(year(getdate()), month(getdate()), 1)

如果您也需要上限:

where 
    NewMonth >= datefromparts(year(getdate()), month(getdate()), 1)
    and NewMonth < dateadd(month, 1, datefromparts(year(getdate()), month(getdate()), 1))

如果要上个月:

where 
    NewMonth >= dateadd(month, -1, datefromparts(year(getdate()), month(getdate()), 1))
    and NewMonth < datefromparts(year(getdate()), month(getdate()), 1)

或两个月前:

where 
    NewMonth >= dateadd(month, -2, datefromparts(year(getdate()), month(getdate()), 1))
    and NewMonth < dateadd(month, -1, datefromparts(year(getdate()), month(getdate()), 1))