我需要帮助在SQL db2-400中定义一个case语句



我使用的是SQL、IBM Data Studio、db2-400。我需要帮助写一个案例陈述,寻找字段的长度,如果不等于14,则返回一个空白。我尝试了很多方法,但都没有成功,下面是我的最新尝试。

CASE 
WHEN LENGTH(TRIM(FFIUPCN) <> '14' 
THEN '' 
ELSE 
FFIUPCN 
END AS "UPC (if applicable)"

我得到的错误是<gt"无效。

主要问题是缺少)

CASE 
WHEN LENGTH(TRIM(FFIUPCN)) <> 14 
THEN '' 
ELSE 
FFIUPCN 
END AS "UPC (if applicable)"

但您不应该将length()返回的数字与sring'14'进行比较。但是Db2正在隐式地转换它。

对于多种情况,您可以嵌套案例语句

Select
case when FIUPCN+FFIUPCN2 = 0 
then case when FIUPCN >= value  then FIUPCN + 1 
else FIUPCN + 2 end
else
case when FIUPCN >= value
then case when FIUPCN <> '' 
then FIUPCN + 3
else prvca1 end
else 
case 
when FIUPCN >= FIUPCN2 and FIUPCN3 <> 0 then FIUPCN + 4
when FIUPCN >= FIUPCNX and FIUPCNY <> 0 then FIUPCN + 5
else prvca1 end
end
end 
from table

相关内容

  • 没有找到相关文章

最新更新