问题:
从数据库表 [member] 中获取记录根据 date_created 属于上个月
解决方案:
为了高效、准确地检索上个月的记录,我们需要避免某些陷阱,并采用以下方法:
使用专属范围过滤:
不要使用包含范围(例如 BETWEEN 运算符),而是使用带有 > 的排除范围过滤且
计算月份边界:
导出使用适当的日期函数计算上个月和当月的开始。这可以避免由包含上限范围引起的潜在问题。
示例查询:
DECLARE @startOfCurrentMonth DATETIME SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0) SELECT * FROM Member WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth) AND date_created < @startOfCurrentMonth
此方法确保使用索引、数据防止损坏,并在指定时间范围内检索正确的记录。
以上是如何从SQL Server表中高效检索上个月的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!