首页 > 解决方案 > PostgreSQL 中两个日期的区别

问题描述

PostgreSQL 中是否有与此 T-SQL 命令等效的命令?

SELECT COUNT(*) 
FROM [dbo].[LayerTable] 
where layerType=3 
 and created >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6, current_timestamp))),0)

我找到了 date_part() 和 extract function() 但不工作。

标签: sqlpostgresqldate-arithmetic

解决方案


看起来这只是从 current_timestamp 中减去 6 个月,所以相当于:

SELECT COUNT(*) 
FROM dbo.layer_table
where layer_type=3 
  and created >= current_timestamp - interval '6 months';

如果您希望将月初(而不是与“今天”的“同一天”)作为结果,请使用:

created >= date_trunc('month', current_timestamp - interval '6 months')

推荐阅读