查询选择“当前月份的第一天”和“当前日期”之间的日期

我需要在当月第一天到当日之间从SQL Server数据库中选择数据。

    SELECT *
      FROM table_name 
     WHERE date BETWEEN "1st day of current month" AND "current day"
chinaoct 回答:查询选择“当前月份的第一天”和“当前日期”之间的日期

您可以使用EOMONTH()跳到该月的最后一天,即上个月。然后,只需使用DATEADD()加上1作为一天的增量来添加1天,即可得出当月的第一天。

SELECT *
FROM <table>
WHERE <date> BETWEEN DATEADD(DAY,1,EOMONTH(GETDATE(),-1)) and GETDATE()
,

我认为这应该可行,

SELECT * 
FROM   TABLE_NAME 
 WHERE date BETWEEN DATEADD(mm,DATEDIFF(mm,date),0) AND GETDATE()
,

愿这对您有帮助

select * from TABLE_NAME 
where date between 
dateadd (DAY,-(datepart (DAY,getdate ())) + 1,convert (date,GETDATE ())) 
and 
convert (date,getdate ()) 
,

我不建议为此目的使用between。我更希望代码可以在datedatetime上运行而无需修改。

此外,SQL Server具有便捷的datefromparts()功能。所以,我建议:

WHERE date >= DATEFROMPARTS(YEAR(GETDATE()),MONTH(GETDATE()),1) AND
      date < CONVERT(DATE,DATEADD(DAY,GETDATE()))
本文链接:https://www.f2er.com/3161032.html

大家都在问