Я выполняю запрос, который Redshift выдает ошибку «Ошибка SQL [500310] [57014]: недопустимая операция Amazon: ошибка преобразования текста в дату;»
Однако, когда я удаляю присоединенные таблицы или удаляю преобразования из предложения WHERE, он больше не выдает ошибку. Таким образом, я подозреваю, что происходит что-то еще, и эта ошибка вводит в заблуждение.
Я посмотрел на данные, и ни одна из дат не выглядит странно или выходит за пределы диапазона.
Вот запрос, который выдает ошибку:
SELECT m.member_id,
t.tracker_id,
DATE(ma.yyyymmdd) AS tracked_date,
DATE(ma.updated_date) AS updated_date
FROM import_genesis.member_activities ma
INNER JOIN master."member" m
ON ma.memberid = m.member_legacy_id
INNER JOIN master.action_activity aa
ON ma.activity_type = aa.activity_type
INNER JOIN master.tracker t
ON t.action_id = aa.action_id
WHERE DATE(ma.yyyymmdd) > DATE(DATEADD(DAY, -14, GETDATE()))
AND DATE(ma.yyyymmdd) <= GETDATE();
Вот два запроса, которые НЕ выдают ошибку:
SELECT DATE(ma.yyyymmdd) AS tracked_date,
DATE(ma.updated_date) AS updated_date
FROM import_genesis.member_activities ma
WHERE DATE(ma.yyyymmdd) > DATE(DATEADD(DAY, -14, GETDATE()))
AND DATE(ma.yyyymmdd) <= GETDATE();
SELECT m.member_id,
t.tracker_id,
DATE(ma.yyyymmdd) AS tracked_date,
DATE(ma.updated_date) AS updated_date
FROM import_genesis.member_activities ma
INNER JOIN master."member" m
ON ma.memberid = m.member_legacy_id
INNER JOIN master.action_activity aa
ON ma.activity_type = aa.activity_type
INNER JOIN master.tracker t
ON t.action_id = aa.action_id;
Любые идеи какчто может быть не так или какие-либо потенциальные обходные пути?