Una FUNCTION, pñor definición, sólo puede devolver
un único valor , y no puede contener sentencias SELECT internas que disparen salidas de datos hacia fuera del body.
Esta línea está mal:
Además de ser innecesaria e incorrecta... un DAYOFWEEK sería suficiente.