Функция DATE_TRUNC - Amazon Redshift принимает метку времени в качестве входных данных и предоставляет метку времени в качестве выходных данных:
DATE_TRUNC('datepart', timestamp)
Например:
SELECT DATE_TRUNC('month', '2019-05-07'::timestamp)
2019-05-01 00:00:00
Поэтому ваша строка должна выглядеть так:
WHERE job_date >= DATE_TRUNC('month', '2019-04-01'::timestamp)
Если вы хотите получить выходные данные в качестве даты, добавьте ::date
:
SELECT DATE_TRUNC('month', '2019-05-07'::timestamp)::date
2019-05-01
Также обратите внимание, что дата преобразуется в метку времени , как в полночь. Это может вызвать разницу для некоторых сравнений. Например:
'2019-05-07 03:03:31.389324+00'::timestamp > '2019-05-07'::timestamp
будет оцениваться как True
, потому что оно сравнивается с полуночью в начале дня. Это отличается от сравнения двух дат (без отметок времени).