Вы можете сослаться на столбец. Но вы должны определить, что делает функция. Если вы хотите, чтобы функция возвращала значение, если любой из трех столбцов равен a
, то вы можете вычислить это как значение и вернуть его:
CREATE FUNCTION is_col_equal(in_a VARCHAR(20))
RETURNS BOOLEAN
BEGIN
SELECT @bool = MAX(col_1 = in_a or col_2 = in_a or col_3 = in_a)
FROM t;
RETURN @bool
END;
Что MySQL не может сделать, так это вернуть строки, соответствующие вашему условию. Это не является вашим намерением, учитывая, что вы объявляете функцию, возвращающую скалярное значение.