# 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_expressionevaluated to dtermine what value to returntrue_valuereturned ifboolean_expressionevaluates to truefalse_valuereturned ifboolean_expressionevaluates 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!