sql - 在 SQL Server 中查找天差时出错
问题描述
select *
from feedback f
where datediff(day, feedback.submitOn, getdate()) < 7
我收到此错误:
消息 4104,级别 16,状态 1,第 4 行
无法绑定多部分标识符“feedback.submitOn”。
submitOn
是类型Date
解决方案
您需要使用表别名:
select *
from feedback f
where datediff(day, f.submitOn, getdate()) < 7
您已经给出了对feedback
名称的引用f
。你需要使用它。
我建议您使用日期算术,而不是日期之间的差异。你可能想要:
where f.submitOn < dateadd(day, 7, convert(date, getdate())
这将为您提供超过 7 天前的所有内容。这更好,因为它有助于优化器并允许查询利用索引和分区。
推荐阅读
- ocaml - 如何将列表的每个元素乘以第一个元素,然后是第二个元素,依此类推,为每组产品制作一个列表?
- javascript - 未捕获的 TypeError:chart.render 不是函数
- r - 连接结果超过 2^31 行的问题
- python - 为什么它不删除选择的值?熊猫
- python - 更新带有列表的python字典
- python - Pandas:有没有办法根据条件匹配在数据框中添加特定列
- javascript - JavaScript:'、" 和 ` 之间有什么区别?
- java - 谁能解释一下结果?
- python - 使用python比较文本文件中的多行
- excel - 如何从excel单元格中提取日期时间?