Debe utilizar una función en lugar de un procedimiento. Un procedimiento devuelve conjuntos de resultados (uno o varios) (tablas), mientras que una función devuelve un único valor.
Debería pensarlo dos veces antes de usar funciones en la cláusula where, si contienen cláusulas de selección de la base de datos, ya que puede conducir a una situación en la que el optimizador de consultas no puede optimizar la ruta de la consulta, lo que genera consultas serializadas y un rendimiento deficiente. Si la cantidad de datos es pequeña o está de acuerdo con el posible impacto en el rendimiento, esto funcionaría.