【问题标题】:Oracle sql decodeOracle sql 解码
【发布时间】:2015-05-10 03:37:22
【问题描述】:

我正在尝试将其解码为简单读取中西部而不是计数的数字。

DECODE(COUNT(location_id),true,'Midwest')

我感觉我忽略了一些简单的事情。

【问题讨论】:

  • 不清楚您想要实现什么?您希望何时显示“中西部”而不是计数?
  • 在确切的 Spot 中,行数是。而不是计数,我希望它说“中西部”
  • 使用解码代替 if..else...eg: Decode(value, 0, 'Zero')..这里什么时候需要显示'midwest'??
  • count(location_id) 返回一个数字。 true 是一个布尔值,因此比较它们没有意义。如果你总是想用字符串替换计数,为什么不首先选择一个常量字符串呢?
  • 我猜你需要在 count 不为零时显示 midwest...DECODE(COUNT(location_id),0,'Zero','Midwest')。

标签: sql oracle count decode


【解决方案1】:
CASE WHEN (COUNT(location_id) > 0) THEN 'Midwest'
     ELSE -- Optional
       'Some thing else' -- Optional
END

您可以使用 Case 来检查 count() 是否 > 0

【讨论】:

  • 我喜欢这个。谢谢马赫斯瓦兰!
  • @JacobKocina 欢迎,如果有帮助,也接受它作为答案;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多