There is a case statement in Oracle; this statement can compare the expression result with several foreseeable results provided. If the comparison is successful, the corresponding statement sequence is executed. The syntax is "CASE expression WHEN expression Expression result 1 THEN executable item [WHEN expression result 2 THEN executable item]...".
The operating environment of this tutorial: Windows 10 system, Oracle version 12c, Dell G3 computer.
Is there a case statement in oracle?
case statements can be divided into two types:
One is a simple case statement, which gives an expression and compares the expression result with several foreseeable results provided. If the comparison is successful, the corresponding statement sequence is executed.
The other is the search-style case statement. It will provide multiple Boolean expressions, then select the first expression that is true and execute the corresponding script.
1. Simple case statement
The syntax of simple case is as follows:
Enter 1 and 2 respectively to call The final result is as follows:
匿名块已完成 男人 匿名块已完成 女人
From the above point of view, the simple syntax of case is as follows:
case 标志 when 参数1 then 语句块1; when 参数2 then 语句块2; else 语句块3; end case;
During the execution process, from top to bottom, take the parameters after when in order, and compare them with the above The flags are compared and entered if equal.
In addition, if the else above is not written, if there is no when that meets the conditions, a CASE_NOT_FOUND exception will be thrown.
2. Search-type case statement
Search-type case is similar to the simple form, except that it is a search-type case, and there are no parameters after the case.
Modify the above example as follows, which is the search case:
The execution process is the same as above.
From the top, the search case syntax is as follows:
case when 条件1 then 语句块1; when 条件2 then 语句块2; else 语句块3; end case;
In the execution process, from top to bottom, check whether the conditions after when are true, and enter if true.
In addition, if the else above is not written, if there is no when that meets the conditions, a CASE_NOT_FOUND exception will also be thrown.
Recommended tutorial: "Oracle Video Tutorial"
The above is the detailed content of Is there a case statement in oracle?. For more information, please follow other related articles on the PHP Chinese website!