Olá,  Bom, não coloquei exemplo porque imaginei que não seria preciso. De forma alguma foi com a intenção de esconder algo. Isso não faz parte do meu conceito, uma vez que estou aqui para ser ajudado e também ajudar os outros.  Mas vamos lá.  a function "MinhaFunção" irá retorna 0 ou 1.  vejam o exemplo  ////////////////// Função delimiter $$ CREATE function MinhaFuncao ( cod_cliente ) returns DECIMAL( 1,0 ) deterministic BEGIN 	DECLARE nRetorno DECIMAL(1,0); 	DECLARE nAno     DECIMAL(4,0); 	SELECT max( year(dt_pag) ) into nAno from pagamentos where cod_cliente = pagamentos.cliente ;          if nAno = year( curdate() ) then            SET nRetorno := 1;         else            SET nRetorno := 0;         end if; 	return nRetorno; END $$ ////////////////// Fim   Com esta função gostaria de, dentro dos futuros selects, carregar uma variável ao invés de ter que ficar repetindo a função, daí iria ganhar performance ao invés de ficar todo tempo recorrendo a esta função.  Hoje o meu select ta assim:  Select minhafuncao(clientes.codigo), clientes.*  from clientes where minhafuncao(clientes.codigo) <> 0  e gostaria de tirar a função do where e testar uma variável se possível.  Se não ficou claro, podem falar que tento explicar melhor.  Um abraço,  Alexandre