By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE test (
varchar_val1 VARCHAR(255),
varchar_val2 VARCHAR(255),
int_val1 INT,
int_val2 INT);
INSERT INTO test VALUES
(7200,12200,7200,12200);
SELECT *,
CASE WHEN varchar_val1 >= varchar_val2
THEN varchar_val1 ELSE varchar_val2 END AS varchar_compare,
CASE WHEN varchar_val1+0 >= varchar_val2+0
THEN varchar_val1 ELSE varchar_val2 END AS varchar_compare_convert_to_int1,
CASE WHEN CONVERT(varchar_val1, SIGNED) >= CONVERT(varchar_val2, SIGNED)
THEN varchar_val1 ELSE varchar_val2 END AS varchar_compare_convert_to_int2,
CASE WHEN CAST(varchar_val1 AS SIGNED) >= CAST(varchar_val2 AS SIGNED)
THEN varchar_val1 ELSE varchar_val2 END AS varchar_compare_convert_to_int3,
CASE WHEN int_val1 >= int_val2
THEN int_val1 ELSE int_val2 END AS int_compare
FROM test
varchar_val1 | varchar_val2 | int_val1 | int_val2 | varchar_compare | varchar_compare_convert_to_int1 | varchar_compare_convert_to_int2 | varchar_compare_convert_to_int3 | int_compare |
---|---|---|---|---|---|---|---|---|
7200 | 12200 | 7200 | 12200 | 7200 | 12200 | 12200 | 12200 | 12200 |