Denodo - 无法区分 DATE>= addday(cast(now() as date),-365)

Denodo - Unable to case DATE>= addday(cast(now() as date),-365)

我在尝试获取以下输出时遇到了问题: "If x_date >= now-365 then 1 else 0"

我的 select 声明如下:

SELECT
   id,
   x_date,
   CASE x_date
   WHEN x_date >= addday(cast(now() as date),-365) then 1
   else 0
   end as output

我收到一条错误消息,内容如下: “SQL 错误 [30100] [HY000]:CASE 参数 case((xdate,ge,[addday(trunc(cast('date', now(), 'DATE')) '-365 ')], utc_il8n), 'true', 'false') 与其余值不兼容。

有没有其他人对 CASE 语句中的日期执行过类似的操作? Addday 工作正常 returns 2017-01-05.

CASE 语法有问题。我认为阅读这个和其他来源可能会引起混淆:https://www.techonthenet.com/sql_server/functions/case.php

应阅读:

SELECT
   id,
   x_date,
   CASE WHEN x_date >= addday(cast(now() as date),-365) then 1
   else 0
   end as output