Ниже для BigQuery Standard SQL
CREATE TEMP FUNCTION test( tv1 STRING, tv2 STRING)
RETURNS STRING AS ((
SELECT CASE
WHEN tv1 = 'val1' THEN '11'
WHEN tv1 = 'val2' THEN 'ABC1'
WHEN tv1 = 'val3' THEN 'XYZ5'
WHEN tv2 = 'val4' THEN 'MyVal'
WHEN tv2 = 'val5' THEN 'HisVal'
ELSE 'nothing'
END
FROM UNNEST([LOWER(tv1)]) tv1, UNNEST([LOWER(tv2)]) tv2
));
Как вы можете видеть, это устраняет необходимость в использовании LOWER в каждом и каждом «предложении», но все же требует использования LOWER один раз для tv1 и tv2