COALESCE
Returns the first value in a given list that is not null.
Syntax
COALESCE(VALUE1, VALUE2[, ...])Arguments
VALUE
VALUEType: any
A list of values of any type.
Returns
Type: same as input
The first VALUE that is not null.
Examples
Transformation job example
SQL
CREATE JOB function_operator_example
    ADD_MISSING_COLUMNS = true	
AS INSERT INTO default_glue_catalog.upsolver_samples.orders_transformed_data 
  MAP_COLUMNS_BY_NAME
    SELECT 
      COALESCE(3.4, 66.0, 744.7) AS coalesce_example1,
      COALESCE('a', null::string, 'z', 'h', 'k') AS coalesce_example2,
      COALESCE(null::date, date '2022-08-14', date '2022-02-05') AS coalesce_example3
    FROM default_glue_catalog.upsolver_samples.orders_raw_data 
    WHERE $commit_time BETWEEN run_start_time() AND run_end_time()
    LIMIT 1;Query result
coalesce_example1
coalesce_example2
coalesce_example3
3.4
a
2022-08-14
Example with arrays
SQL
CREATE JOB function_operator_example
    ADD_MISSING_COLUMNS = true	
AS INSERT INTO default_glue_catalog.upsolver_samples.orders_transformed_data 
        MAP_COLUMNS_BY_NAME
    SELECT 
        COALESCE(ARRAY[1.1, 0.2], ARRAY[3.0]) AS coalesce_example1,
        COALESCE(ARRAY[null::double, 1.1, 0.2], ARRAY[3.0]) AS coalesce_example2,
        COALESCE([null::double], [1.1, 0.2], [3.0]) AS coalesce_example3
    FROM default_glue_catalog.upsolver_samples.orders_raw_data 
    WHERE $commit_time BETWEEN run_start_time() AND run_end_time()
    LIMIT 1;Query result
coalesce_example1
coalesce_example2
coalesce_example3
[1.1, 0.2]
[1.1, 0.2]
[1.1, 0.2]
In arrays containing null and non-null values, Upsolver ignores null values when working with the array. For example, the first array in coalesce_example2 is not considered a null value. 
Conversely, an array containing only null values is considered null, so coalesce_example3 returns the second array provided.
Last updated
