Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 缺少关键字(ORA-00905)-Oracle案例陈述_Sql_Oracle_Oracle11g_Case - Fatal编程技术网

Sql 缺少关键字(ORA-00905)-Oracle案例陈述

Sql 缺少关键字(ORA-00905)-Oracle案例陈述,sql,oracle,oracle11g,case,Sql,Oracle,Oracle11g,Case,我试图在select语句中编写case语句。由于height列为varchar2并包含字符,因此我需要按如下方式消除字符: SELECT FIRST_NAME, LAST_NAME, (CASE height WHEN height LIKE '%>%' THEN -1 WHEN height LIKE '%<%' THEN -1 ELSE TO_NUMBER (height) END) AS h

我试图在select语句中编写case语句。由于height列为varchar2并包含字符,因此我需要按如下方式消除字符:

SELECT FIRST_NAME,
    LAST_NAME,
    (CASE height
        WHEN height LIKE '%>%' THEN -1
        WHEN height LIKE '%<%' THEN -1
        ELSE TO_NUMBER (height)
            END) AS height
FROM TEMP;
选择名字,
姓,
(箱高
当高度为“%>%”时,则为-1
当高度像“%”时,请尝试以下操作

SELECT FIRST_NAME,
       LAST_NAME,
       (CASE
         WHEN height LIKE '%>%' THEN
          -1
         WHEN height LIKE '%<%' THEN
          -1
         ELSE
          TO_NUMBER(height)
       END) AS height   
  FROM TEMP;
选择名字,
姓,
(案例
当高度为“%$>%”时
-1

当高度为“%”时,搜索的大小写表达式的语法错误:

SELECT FIRST_NAME,
       LAST_NAME,
       (CASE
          WHEN height LIKE '%>%' THEN -1
          WHEN height LIKE '%<%' THEN -1
          ELSE TO_NUMBER (height)
        END) AS height
  FROM TEMP
     ;
选择名字,
姓,
(案例
当高度为“%>%”时,则为-1
当高度像“%”时

或者像“%2”这样的高度有两种大小写语法:
CASE-WHEN-col-condition X-THEN-Y
CASE-col-WHEN-condition X-THEN-Y
不要混淆它们谢谢,这很有帮助!
CASE WHEN height LIKE '%>%'
       OR height LIKE '%<%' 
     THEN -1
     ELSE TO_NUMBER (height)
END
CASE WHEN REGEXP_LIKE ( height, '[<>]' ) 
     THEN -1
     ELSE TO_NUMBER (height)
END