这个sql语句中的case when判断是什么意思啊 把这个sql转换成oracle该怎么写呢

这个sql语句中的case when判断是什么意思啊 把这个sql转换成oracle该怎么写呢

img

其实题主问的压根就不是语法问题,而是他完全不了解数据库的数据字典结构,想把查mysql表字段信息的这个sql按照一样的字段改成oracle的。
oracle查表字段信息的视图是dba_tab_cols。
但这两个数据库架构上是有区别的啊,比如mysql里的自增列,oracle里虽然也支持自增,但没有单独的栏位来定义,而且oracle里的字段还有些属性是mysql里没有的,你这纯按mysql的字段来当然不兼容了。
你要改这个玩意的话,建议先去学下mysql和oracle数据库,至少要把sql的基本查询、数据库对象定义、数据字典等基本内容搞懂,弄懂了自然会改,你现在这样每一句都来问个问题,效率太低了

case when then起的作用就类似if else
不过它只能用于值的判断,不能用于复杂的语法
oracle也支持case when then,不需要改
-=-=-=
既然你贴的标签是java,那么用java类比你应该能更了解
case when then就类似java里的三元运算符,懂了吗

oracle支持case when语法。
case when 条件1 then 结果一
when 条件2 then 结果二
else 结果三 end
根据不同条件赋予不同值,结果一结果二这些地方可以是字段,也可以是表达式,null也可以,就是一个值

他的系统表都不一样了,不知道怎么写