【问题标题】:Missing Keyword (ORA-00905) - Oracle SQL Case Statement缺少关键字 (ORA-00905) - Oracle SQL 案例语句
【发布时间】:2012-09-16 19:09:00
【问题描述】:

早上好,

我想知道你们是否可以帮助我——我想应该很快;我是一个新手,很容易错过明显的东西。

我有以下语句返回上述 905 错误...有什么想法吗?

提前致谢。

(CASE CONTACTS.TELEPHONE_NO_DAY
    WHEN CONTACTS.TELEPHONE_NO_DAY LIKE '07%'
    THEN CONTACTS.TELEPHONE_NO_DAY
    ELSE NULL
    END) TEL_DAY,
   (CASE CONTACTS.TELEPHONE_NO_EVE
    WHEN CONTACTS.TELEPHONE_NO_EVE LIKE '07%'
    THEN CONTACTS.TELEPHONE_NO_EVE
    ELSE NULL
    END) TEL_EVE

【问题讨论】:

    标签: sql oracle case ora-00905


    【解决方案1】:

    您混淆了两种处理案例的方式。你要么需要:

    CASE <expression>
    WHEN <comparison expression> THEN <return expression>
    ...
    

    CASE
    WHEN <condition> THEN <return expression>
    ...
    

    这些是the docs 中的“简单”和“搜索”变体。

    但是因为你不能在第一个版本中使用like,你需要第二个:

    CASE
    WHEN CONTACTS.TELEPHONE_NO_DAY LIKE '07%'
    THEN CONTACTS.TELEPHONE_NO_DAY
    ELSE NULL
    END
    

    两个case 语句也不需要括号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      相关资源
      最近更新 更多