Seems to be working correctly to me. Suspect you need another 3 cases in your switch statement: CASE WHEN column1 > column2 AND column1 < column3 THEN column1 WHEN column2 > column1 AND column2 < column3 THEN column2 WHEN column3 > column1 AND column3 < column2 THEN column3 WHEN column1 < column2 AND column1 > column3 THEN column1 WHEN column2 < column1 AND column2 > column3 THEN column2 WHEN column3 < column1 AND column3 > column2 THEN column3 ELSE -1