The server character set of the result of the following query is UNICODE because the CASE expression contains more than 1 nonliteral character expressions with differing character sets.
SELECT i, CASE WHEN i=2 THEN column_u WHEN i=3 THEN column_j WHEN i=4 THEN column_g WHEN i=5 THEN column_k ELSE column_l END FROM table_1 ORDER BY 1;
In the following query, the CASE expression returns a VARCHAR result because the THEN and ELSE clause contains FLOAT and VARCHAR values. The length of the result is 30 since the default format for FLOAT is a string less than 30 characters, and USER is defined as VARCHAR(30) CHARACTER SET UNICODE. The result is CHARACTER SET UNICODE because USER is UNICODE.
SELECT a, CASE WHEN a=1 THEN TIME ELSE USER END FROM table_1 ORDER BY 1;