我在尝试获取以下输出时遇到了问题: "如果x_date> = now-365则为1,否则为0"
我的选择语句为:
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参数案例((xdate,ge,[addday(trunc(' date',now(),' DATE' ))' -365')],utc_il8n),' true',' false')与其余值不兼容。
是否有其他人在CASE声明中对日期执行了类似的操作? Addday工作正常并返回2017-01-05。
答案 0 :(得分:0)
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