CASE
Translation reference to convert SQL Server Case expression to Snowflake Scripting
Some parts in the output code are omitted for clarity reasons.
Description
SQL Server has two possible formats of the Case expression. both of them for the purpose of evaluating expressions and conditionally obtaining results. The first one refers to a Simple Case Expression that will evaluate if an input_expression matches one or more of the when_expression. The second one will evaluate each Boolean_expression independently. The else clause is supported in both formats.
According to the official SQL Server Case documentation:
CASE can be used in any statement or clause that allows a valid expression. For example, you can use CASE in statements such as SELECT, UPDATE, DELETE and SET, and in clauses such as select_list, IN, WHERE, ORDER BY, and HAVING.
For more information regarding SQL Server Case, check here.
Note: SQL Server allows to optionally encapsulate the input_expression and the boolean_expression in parentheses; Snowflake Scripting too.
Sample Source Patterns
The following examples detail two scenarios where the Case expression can be used and their differences from Snowflake Scripting.
Select using Case
SQL Server
Snowflake Scripting
Note that in this scenario there are no differences regarding the Case expression itself.
The declaration and assignment of the res
variable is in order to demonstrate the functional equivalence between both languages. It does not appear in the actual output.