Sql 选择缺少表达式或缺少关键字的情况
我试图在Oracle SQL developer中使用Sql 选择缺少表达式或缺少关键字的情况,sql,oracle,Sql,Oracle,我试图在Oracle SQL developer中使用CASE表达式和SELECT,无论我尝试做什么,都会出错。下面的语句使我得到了缺少的表达式。我已经检查过了,我想所有需要的关键字都在那里。我试着用多种方式修改代码,唯一发生的事情就是有时 “缺少关键字错误” 试试这个答案 SELECT CASE WHEN PARENT_ID IS NULL THEN 'NOPROB' ELSE 'PROB' EN
CASE
表达式和SELECT
,无论我尝试做什么,都会出错。下面的语句使我得到了缺少的表达式。我已经检查过了,我想所有需要的关键字都在那里。我试着用多种方式修改代码,唯一发生的事情就是有时
“缺少关键字错误”
试试这个答案
SELECT
CASE WHEN PARENT_ID IS NULL THEN 'NOPROB'
ELSE 'PROB'
END AS PROBLEMS
FROM A
为表名指定别名时,使用双引号而不是单引号
SELECT
CASE WHEN A.PARENT_ID IS NULL THEN 'NOPROB'
ELSE 'PROB'
END AS "PROBLEMS"
FROM A
表名是A吗?请删除问题周围的撇号或用引号替换。不,我更改了它,因为它是以一个人的名字命名的!单引号用于字符串文本。对分隔标识符使用双引号。“缺少关键字错误”不是Oracle错误消息。可能您得到了ORA-00923:FROM关键字未在预期的位置找到。
选择
列表项不需要括在括号中。谢谢,我尝试了这个,但没有帮助。。。ORA-00904:无效标识符-00904。00000-“%s:无效标识符”那么,表a
中是否有PARENT\u ID
列?我们只知道你告诉我们什么(现在证明它不是完全正确的)。只有当你想要使用的标识符是保留字或其他非标准的时候。由于使用保留字或非标准标识符名称通常不是一个好主意,因此通常最好避免双引号。
SELECT
CASE WHEN A.PARENT_ID IS NULL THEN 'NOPROB'
ELSE 'PROB'
END AS "PROBLEMS"
FROM A