# Logical Functions
# CHOOSE
Returns the item at the specified index from a list of values. If index
exceeds the bounds of values
then NULL
is returned.
Parameters:
index
: integer, index to item invalues
. 1-based.values
: any type, comma separated list
SELECT CHOOSE (1, 'apples', 'pears', 'oranges', 'bananas') AS chosen_result
chosen_result
-------------
apples
# IIF
Returns one of two values, depending on whether a given Boolean expression evaluates to true or false.
Parameters:
boolean_expression
evaluated to dtermine what value to returntrue_value
returned ifboolean_expression
evaluates to truefalse_value
returned ifboolean_expression
evaluates to false
SELECT IIF (42 > 23, 'I knew that!', 'That is not true.') AS iif_result
iif_result
------------
I knew that!
IIF
may be replaced by a CASE
statement. The above example my be written as
SELECT CASE WHEN 42 > 23 THEN 'I knew that!' ELSE 'That is not true.' END AS iif_result
iif_result
------------
I knew that!