The server character set of the result of the following query is UNICODE because the CASE expression contains more than one 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 because 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;