sql - 如何查看PostgreSQL中是否已有本月的记录?

标签 sql postgresql

假设这是我的表 (postgreSQL):

datecolumn a           b       c
 DATE      INTEGER INTEGER INTEGER
01.02.17   1           5       7
01.02.16   5           7
02.02.17   5
30.01.17   8

我想编写一个查询,将 CURRENT_DATEdatecolumn 进行比较,并显示本月和本年的所有记录

因此对于 CURRENT_DATE(今天是 2017 年 2 月 2 日),预期结果是:

datecolumn a b c
01.02.17   1 5 7
02.02.17   5

我知道我能做到:

select *
from tab
where extract(month from current_date) = extract(month from datecolumn) and
extract(year from current_date) = extract(year from datecolumn)

但我想知道是否有更简单的方法。

最佳答案

您可以使用date_trunc()

select *
from tab
where date_trunc('month', datecolumn) = date_trunc('month', current_date);

关于sql - 如何查看PostgreSQL中是否已有本月的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41998380/

相关文章:

php - 如何使用HTML和PHP创建一个只有一个提交按钮的多表单搜索功能?

python - Django 的逻辑或多对多查询返回重复结果

mysql - 根据另一个列值对列求和

sql - 带 SUM 的嵌套 select 语句

ruby-on-rails - 如何使用 Rails 在 PostgreSQL 中将时间列更改为整数列?

postgresql - pgsql 存储过程 - 内部,c 或 sql 语言是最好的?

ruby-on-rails - Rails - 使用相同的属性名称按日期分组返回不同的答案

mysql - 带有MYISAM表引擎的MYSQL应该使用什么样的索引

postgresql - 为特定父表的关系选择所有外键约束定义

postgresql - pg_rman 恢复