【发布时间】:2018-10-26 22:29:58
【问题描述】:
使用 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] 语法错误,预计在')' 和 '='。”
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
我做错了什么?
【问题讨论】:
-
您是否缺少 END 关键字和您正在检查的条件?它应该看起来像 WHERE CASE WHEN Condition1 THEN Result1 END = expectedResult
标签: sql teradata teradata-sql-assistant