Ошибка при преобразовании текста в дату в Redshift - PullRequest
0 голосов
/ 06 ноября 2019

Я выполняю запрос, который 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;

Любые идеи какчто может быть не так или какие-либо потенциальные обходные пути?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...