-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.21.0
-
Component/s: None
-
Labels:
Syntax error while parsing the DATEADD function:
SELECT DATE(CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', events.event_date )) AS "events.event_date", COALESCE(SUM(events.daily_user_count ), 0) AS "events.daily_active_users", COALESCE(SUM(events.monthly_user_count ), 0) AS "events.monthly_active_users" FROM public.events_proto AS events WHERE (((events.event_date ) >= ((CONVERT_TIMEZONE('America/Los_Angeles', 'UTC', DATEADD(day,-364, DATE_TRUNC('day',CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', GETDATE())) )))) AND (events.event_date ) < ((CONVERT_TIMEZONE('America/Los_Angeles', 'UTC', DATEADD(day,365, DATEADD(day,-364, DATE_TRUNC('day',CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', GETDATE())) ) )))))) GROUP BY 1 HAVING NOT (COALESCE(SUM(events.monthly_user_count ), 0) = 0) ORDER BY 1 DESC LIMIT 500
throwsÂ
`Column 'year' not found in any table` `DATEADD(year,1,...`
This query is valid on Redshift. Redshift's parser understands that the first argument (DAY) is intended to be a time unit, not an identifier.
- links to