Разница между двумя датами в PostgreSQL - PullRequest
0 голосов
/ 12 ноября 2018

Есть ли эквивалент этой команды T-SQL в PostgreSQL?

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

Я нашел date_part () и функцию extract (), но не работает.

1 Ответ

0 голосов
/ 12 ноября 2018

Похоже, это просто вычитает 6 месяцев из current_timestamp, поэтому эквивалент будет:

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')
...