首页 > 解决方案 > 在 SQL Server 中查找天差时出错

问题描述

select *  
from feedback f 
where datediff(day, feedback.submitOn, getdate()) < 7 

我收到此错误:

消息 4104,级别 16,状态 1,第 4 行
无法绑定多部分标识符“feedback.submitOn”。

submitOn是类型Date

标签: sqlsql-server

解决方案


您需要使用表别名:

select *
from feedback f 
where datediff(day, f.submitOn, getdate()) < 7

您已经给出了对feedback名称的引用f。你需要使用它。

我建议您使用日期算术,而不是日期之间的差异。你可能想要:

where f.submitOn < dateadd(day, 7, convert(date, getdate())

这将为您提供超过 7 天前的所有内容。这更好,因为它有助于优化器并允许查询利用索引和分区。


推荐阅读