我使用的是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