我正在尝试查找工作数据中的问题/不一致之处。我遇到的问题之一是邮政编码错误。我基本上想要一份显示潜在地址错误的报告。
我已经写了几个工作案例陈述,但这是我遇到的问题:
CASE WHEN e.city = 'FRESNO' and e.zip LIKE '936%' THEN'FIX' ELSE '' END AS Zip_Error.
上述标准有效,但是我意识到弗雷斯诺有一个邮政编码带有“936”,即“93650” 我尝试了几种不同的方法来解决这个问题,但它不起作用。因为我的案例声明说所有“936%”都需要修复。我不知道如何编写它来排除 '93650,因为这是正确的。 任何帮助将非常感激。非常感谢。
CASE WHEN e.city = 'FRESNO' and e.zip LIKE '936%' THEN'FIX' ELSE '' END AS Zip_Error.
CASE WHEN e.city = 'FRESNO' and e.zip LIKE '936%' AND NOT IN '93650 then 'FIX' ELSE '' END AS Zip_Error.
根据您的评论,我认为您将上述建议放在了错误的位置。您需要在 case 表达式中使用它,而不是在 where 子句中。
CASE
WHEN e.city = 'FRESNO' and e.zip LIKE '936%' and e.zip <> '93650' THEN 'Fix' ELSE 'ok'
END AS Zip_Error