【发布时间】:2022-10-19 14:49:21
【问题描述】:
我在雪花中使用 SQL。我正在尝试使用 CASE WHEN 来开发吸烟状况的指标。当我运行代码时,我得到一个错误:
无法识别布尔值“428061000124105”。
我正在使用的代码是:
SELECT history.PATIENT_ID as pat, history.SMOKING_STATUS AS smoke, CASE WHEN smoke = '428061000124105' OR '428071000124103' THEN 'smoker' WHEN smoke = '8517006' THEN 'ex_smoker' ELSE 'NA' END AS smoking_status FROM 'db'.'schema'.'table';这是数据问题吗?解决这个问题的最佳方法是什么?
【问题讨论】:
-
WHEN smoke IN ('428061000124105', '428071000124103') THEN 'smoker' -
或
WHEN smoke = '428061000124105' OR smoke = '428071000124103' THEN 'smoker' -
FROM 'db'.'schema'.'table';不起作用,单引号 (') 用于文字字符串,而不是分隔标识对象。 -
什么样的价值观在history.SMOKING_STATUS?
标签: sql snowflake-cloud-data-platform