如何在SQL中select只是当前月份的数据?

How to select just current month data in SQL?

我正在尝试进行查询,使我能够 select 仅 table 当前月份的数据,我用作参考的日期字段是 Datetime输入(例如 2021-02-19 03:23:31),此字段称为“日期”。我的尝试如下:

Select * 
FROM CORP.T_LOGI_RN_Planeacion_Entregas 
Where Cast(CORP.T_LOGI_RN_Planeacion_Entregas.Date As Date) >= Cast(Month(getdate()) As Date)

它不起作用,(我不太确定我是否需要使用“Cast”实际上)它抛出这个错误:

无法将类型转换为日期

但是在我没有指定月份的地方使用类似的东西,它有效:

Select * 
FROM CORP.T_LOGI_RN_Planeacion_Entregas 
Where Cast(CORP.T_LOGI_RN_Planeacion_Entregas.Date As Date) >= Cast(getdate() As Date)

有什么想法吗?

顺便说一句谢谢,如果解决方案如此明显,我很抱歉,我对此有点陌生,最好的问候。

因为您没有指定您的数据库产品,但从您的语法看来 SQL 服务器。你可以在这里使用 MONTH 函数 -

Select *
FROM CORP.T_LOGI_RN_Planeacion_Entregas
Where MONTH(CORP.T_LOGI_RN_Planeacion_Entregas.Date) = MONTH(GETDATE())
  AND YEAR(CORP.T_LOGI_RN_Planeacion_Entregas.Date) = YEAR(GETDATE());