sql - 在 where 条件 (SQL) 中仅使用 DateTime 的年份部分
问题描述
我有一个 DateTime 类型的列,我想根据该数据在某一年的条件来查询表。我试过这个但没有用
WHERE YEAR(InvoiceDate) = 2013;
但没用
解决方案
通常,您不想在列上使用函数。这阻碍了优化器。最好这样写:
where invoicedate >= date '2013-01-01' and
invoicedate < date '2014-01-01'
注意: date
是日期文字的 SQL 标准构造。一些数据库不使用它。大多数数据库支持 YYYY-MM-DD 作为日期文字。
推荐阅读
- python - 使用 matplotlib 在 3d 曲面图和颤动图上的 zorder
- react-native - 反应原生自适应状态栏颜色
- c++ - 为什么头文件不会改变内容?
- mongodb - MongoDB 查询按逗号分隔字符串的长度进行聚合
- jenkins - 詹金斯管道如何根据测试结果的百分比更改阶段结果
- c - 交换寄存器内容的汇编程序
- python - 在 python 中计算需求价格弹性的三个 for 循环返回 NaN 值
- node.js - Heroku Private Spaces 用于通过 VPN 访问内部应用程序
- php - 使用 WordPress 内置功能如何确定当前正在编辑哪个页面?
- html - html5 响应式快捷方式图标