oracle的case when

case when t<1 and t>3 then 1 else '' end

能不能改成

case t

    when <1 and >3

then 1 else '' end

这种格式的?

xiaomili 发布于 2019-11-29 09:18
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
sayLv6初级互助
发布于2019-11-29 09:54

格式不能改,好奇的是你是有什么需求要改这格式,你这T是什么?

  • xiaomili xiaomili(提问者) 这个t条件太长了,每次都得copy好多次,如果能改成这种格式的话就会 省好多事
    2019-11-29 14:56 
  • say say 回复 xiaomili(提问者) 那你试试能不能用decode函数, decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
    2019-11-29 15:24 
  • say say 回复 xiaomili(提问者) 关于decode, 可以看看这个帖子,https://blog.csdn.net/u010760374/article/details/81170412
    2019-11-29 15:29 
  • xiaomili xiaomili(提问者) 回复 say 应该是不可以,decode的条件只能是等于,我这边用的是大于或者小于,没办法,哎,只能先这样用了
    2019-11-29 15:37 
  • say say 回复 xiaomili(提问者) 可以用sign()来比较大小的,不过搞下来可能跟你原来的差不多烦
    2019-11-29 15:44 
最佳回答
0
KerydiaLv5中级互助
发布于2019-11-29 09:19

image.png

亲测不能

  • xiaomili xiaomili(提问者) 。。那岂不是跟尴尬啊,
    2019-11-29 09:22 
  • Kerydia Kerydia 回复 xiaomili(提问者) case when t<1 and t>3 then 1 else \'\' end 这个还是可以用的
    2019-11-29 10:03 
最佳回答
0
JackloveLv7高级互助
发布于2019-11-29 09:23

不可以

最佳回答
0
hippomenes157Lv3见习互助
发布于2019-11-29 09:33
简单case只能是when后面的表达式完全匹配case后的表达式,相当于 =


  • 5关注人数
  • 740浏览人数
  • 最后回答于:2019-11-29 09:54
    请选择关闭问题的原因
    确定 取消
    返回顶部