Inspectopedia Help

Using CASE instead of conditional function and vice versa

Reports situations when CASE and IF are interchangeable.

Example (MySQL):

SELECT CASE WHEN C1 IS NULL THEN 1 ELSE 0 END FROM dual;

To keep your code short, you can replace the CASE structure with IF. You can do that by applying the Replace with 'IF' call intention action. The example code will look as follows:

SELECT IF(C1 IS NULL, 1, 0) FROM dual;

To revert IF to CASE, click IF and apply the Replace with CASE expression intention action.

Inspection options

Option

Type

Default

Prefer CASE expressions over IF functions

Checkbox

false

Inspection Details

Available in:

AppCode 2023.3, CLion 2023.3, DataGrip 2023.3, DataSpell 2023.3, GoLand 2023.3, IntelliJ IDEA 2023.3, JetBrains Rider 2023.1, PhpStorm 2023.3, PyCharm 2023.3, Qodana for .NET 2023.1, Qodana for JVM 2023.3, Qodana for PHP 2023.3, Qodana for Ruby 2023.3, RubyMine 2023.3

Plugin:

Database Tools and SQL, 233.SNAPSHOT

Last modified: 13 July 2023