昨天接到一个需求,查询数据库中的某条数据的状态,本来很简单的一个需求,却因为表中没有该字段而陷入阻塞。
解决方式有:向表中追加个字段,直接在查询时计算返回 、查出数据后在后端判断。。。(其他的没想到,有路过的大神可以提点下 万分感谢)
个人选择的是 在查询数据库的时候 添加该状态的字段 。
select (表字段),
(
case 字段值 when '值1' then '显示值1'
when '值2' then '显示值2'
end
) 字段别名 from 表名
大概上面这个样子
但是 我需要的状态码 是需要通过表中 多个字段 逻辑判断 得到的 所以继续套用 上面的 格式跑了一次
报错 ORA-00905: 缺失关键字
后面偷偷瞅了几眼 公司大佬们写的 函数 了解到了
上面的格式 仅仅适用于 将某个字段的特定值 转换成我们想要的输出 不支持逻辑判断
需要用到逻辑判断的 语法大概是
(
case when 逻辑表达式1 then 显示值1
when 逻辑表达式2 then 显示值2
end
)
纪念我丢失的一下午--绝对不是摸鱼!