如何在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());
我正在尝试进行查询,使我能够 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());