案例 STATEMENT/FUNCTION
CASE STATEMENT/FUNCTION
我需要有关 Oracle v11 中 CASE
语句的帮助。我的公司使用 TRAX Maintenance 作为其软件,“构建您自己的报告”中的构建使用 QuickPrint。我正在尝试做一个小的 CASE
statement/function 但除了错误消息之外什么也得不到。有人可以帮忙吗??下面是完整的代码(非常简单),结果将 return 1 列即结果。
SELECT "ENGINEERING_ORDER"."EO" AS "EO",
"ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION",
CASE,
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS",
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES",
ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS",
END
FROM ENGINEERING_ORDER
我得到的错误是:
ORA-00923: FROM keyword not found where expected
ORA-00936: Missing expression
和其他取决于你可以做的其他方式 CASE
。
删除 case
和 end
之间的所有逗号 (,
),它们不应该在那里:
SELECT "ENGINEERING_ORDER"."EO" AS "EO",
"ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION",
CASE
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0
THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS"
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0
THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES"
ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS"
END
FROM ENGINEERING_ORDER
我需要有关 Oracle v11 中 CASE
语句的帮助。我的公司使用 TRAX Maintenance 作为其软件,“构建您自己的报告”中的构建使用 QuickPrint。我正在尝试做一个小的 CASE
statement/function 但除了错误消息之外什么也得不到。有人可以帮忙吗??下面是完整的代码(非常简单),结果将 return 1 列即结果。
SELECT "ENGINEERING_ORDER"."EO" AS "EO",
"ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION",
CASE,
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS",
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0 THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES",
ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS",
END
FROM ENGINEERING_ORDER
我得到的错误是:
ORA-00923: FROM keyword not found where expected
ORA-00936: Missing expression
和其他取决于你可以做的其他方式 CASE
。
删除 case
和 end
之间的所有逗号 (,
),它们不应该在那里:
SELECT "ENGINEERING_ORDER"."EO" AS "EO",
"ENGINEERING_ORDER"."EO_DESCRIPTION" AS "EO_DESCRIPTION",
CASE
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_CYCLES"=0
THEN "ENGINEERING_ORDER"."SCHEDULE_DAYS"
WHEN "ENGINEERING_ORDER"."SCHEDULE_HOURS"=0
AND "ENGINEERING_ORDER"."SCHEDULE_DAYS"=0
THEN "ENGINEERING_ORDER"."SCHEDULE_CYCLES"
ELSE "ENGINEERING_ORDER"."SCHEDULE_HOURS"
END
FROM ENGINEERING_ORDER