Не делайте так!
SQL язык запросов, вот и делайте запросы, а код выносите в приложение на любом языке общего назначения.
Это позволит вам иметь понятный код на всех уровнях.
Единственное условие когда используется код в базе, это очень старый код или особые требования к перфомансу (Очень особые)
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `getcity`(fullname NVARCHAR(200)) RETURNS varchar(100) CHARSET utf8
BEGIN
return SUBSTRING_INDEX(SUBSTRING_INDEX( fullname, " of ", -1), " - ", 1);
END$$
DELIMITER ;
SELECT id, name , getcity(name) as city_namegethouse, gethouse(name) as house_num FROM test.cityes;