Использование Teradata 15.1x
Я пытаюсь выбрать данные за предыдущий день недели. Я могу получить предыдущий день, используя
cast(cast(cast(a.date_dim_ck as varchar(13)) as date format 'yyyymmdd') as date format 'mm-dd-yyyy') = current_date - 1
но когда я пытаюсь выполнить случай, когда в понедельник я оглядываюсь назад на 3 дня вместо 1 (чтобы получить данные за пятницу, см. Ниже), я получаю "[3707] Синтаксическая ошибка, ожидалось что-то вроде ключевого слова 'END' между ')' и '='. "
where case
when td_day_of_week(current_date)<>2
then
cast(cast(cast(a.date_dim_ck as varchar(13)) as date format 'yyyymmdd') as date format 'mm-dd-yyyy') = current_date - 1
else
cast(cast(cast(a.date_dim_ck as varchar(13)) as date format 'yyyymmdd') as date format 'mm-dd-yyyy') = current_date - 3
Что я делаю не так?