首页 > 解决方案 > 如何在 SQL Server 中选择在特定时间内过期的项目?

问题描述

我正在使用带有 C# Windows Forms 应用程序的 SQL Server 2008。products 表具有其他值以及到期日期,我想ProductID, ProductName, AvailableQuantity, and ExpiryDate在网格中显示,这样我可以让用户了解在到期日期之前过期的项目。

目的是仅将那些到期日期越来越近的产品添加到该网格中,即在 2 个月后到期的产品。

我尝试使用如下TRUNC功能:

select * 
from tblProducts 
where DateExpiry < TRUNC( SYSDATE ) + INTERVAL '62' DAY;

但我在 SQL Server 2008 中收到以下错误:

消息 195,级别 15,状态 10,第 1 行
“TRUNC”不是可识别的内置函数名称。

为什么我收到此错误?我在网上看到相同的代码工作正常,但是在我的情况下它会产生错误。有没有其他方法可以满足我的要求?还是我必须以某种方式修改查询,这可以帮助我解决错误?

标签: c#winformssql-server-2008truncate

解决方案


在 SQL Server 中,您应该这样做。

select * 
from tblProducts 
where DateExpiry < DATEADD(month, 2, GETDATE());

推荐阅读