c# - SQL Server如何选择特定时间内过期的项目?

标签 c# winforms sql-server-2008 truncate

我将 SQL Server 2008 与 C# Windows 窗体应用程序一起使用。产品表具有其他值以及到期日期,我想在网格中显示 ProductID、ProductName、AvailableQuantity 和 ExpiryDate,这样我就可以让用户了解之前过期的项目截止日期。

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

我试过使用 TRUNC 函数,如下所示:

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

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

Msg 195, Level 15, State 10, Line 1
'TRUNC' is not a recognized built-in function name.

为什么我会收到这个错误?我在网上看到相同的代码运行良好,但是在我的案例中却产生了错误。还有其他方法可以满足我的要求吗?或者我是否必须以某种方式修改查询,这可以帮助我解决我的错误?

最佳答案

在 SQL Server 中你应该这样做。

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

关于c# - SQL Server如何选择特定时间内过期的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656395/

相关文章:

sql - 使用 osql 运行查询

sql - SQL Server 2008 R2中的有效分页

c# - 当您只想更改返回类型时重载方法的最佳方法

c# - 是否有一种标准模式可以避免由于单个任务阻塞而导致作业队列延迟?

c# - Visual Studio 2008访问表单设计器时出错

winforms - 显示窗体和控件的缩放比例和大小

c# - Entity Framework 错误 - 使用的 SQL Server 版本不支持数据类型 'datetime2'

c# - 适本地发出属性(property)

c# - 我有一个 RichTextBox,里面装满了文本文件中的文本,我现在想将文本中包含单词 "Error"的所有地方都涂成红色,该怎么做?

sql - 比较sql server中两个字符串中的数字