CASE 语句 SQL 中的多个条件 - 邮政编码问题

问题描述 投票:0回答:1

我正在尝试查找工作数据中的问题/不一致之处。我遇到的问题之一是邮政编码错误。我基本上想要一份显示潜在地址错误的报告。

我已经写了几个工作案例陈述,但这是我遇到的问题:

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.
sql sql-server case
1个回答
0
投票

根据您的评论,我认为您将上述建议放在了错误的位置。您需要在 case 表达式中使用它,而不是在 where 子句中。

CASE 
 WHEN e.city = 'FRESNO' and e.zip LIKE '936%' and e.zip <> '93650' THEN 'Fix' ELSE 'ok' 
END AS Zip_Error
© www.soinside.com 2019 - 2024. All rights reserved.