如何在case语句中引发异常?我相信signal
是正确的说法。当字“总公司”的名称被找到,那么必须在列1 case语句,但我希望有一个例外,如果单词“美元”是在名称case case中的例外
Name Is_comp
Dollar Tree Corp
First Hand Corp 1
Select
when name like 'corp'
then 1
end as is_comp
如何在case语句中引发异常?我相信signal
是正确的说法。当字“总公司”的名称被找到,那么必须在列1 case语句,但我希望有一个例外,如果单词“美元”是在名称case case中的例外
Name Is_comp
Dollar Tree Corp
First Hand Corp 1
Select
when name like 'corp'
then 1
end as is_comp
我认为,基于什么你正在寻找,你只需要一个鸽友CASE声明:
SELECT
CASE
WHEN
name LIKE ANY ('%corp%','%llc%','%inc%') /*list of names with wildcards*/
AND name not like '%Finch%' /*don't match on finch%/
AND name not like ANY ('%Finch%','%Brian%') /*or optionally don't match on any of these name substrings*/
THEN 1
END 'is_comp'
FROM <table>
所以在这种情况下,你有INC。我不希望Finch在列中被包含为1。现在,你有INC作为%inc%,这意味着包含INC的所有内容。我想排除芬奇 – tryingtolearn
另外,“似乎任何”似乎没有工作 – tryingtolearn
仍然是相同的想法。我已经更新了排除finch的答案(单独或列表) – JNevill
这将是一个非常奇怪的事情要做的SQL语句。你在这里结束的比赛是什么?这感觉就像一个XY问题。 – JNevill
基本上,我有一个名单,我需要手动整理并确定名称是公司还是个人名单。我试图对LLC,INC,CO等公司的常见名称进行一些过滤,但有时候遇到公司名称“Dollar Tree Inc”和人名“Finch”等问题时,我需要在发生这种情况时例外。 – tryingtolearn