Função para retornar o mês desejado no mysql conforme o numero do mês passado.
Posted on : 22-02-2010 | By : Wryel | In : mysql
0
Esses tempos atrás eu esteva dando uma estudada no iReport 3.7.1 e nele tinha 3 campos com nomes dinâmicos que iriam ser alterados conforme dados que houvessem no banco, sendo eles, o cliente escolhia um mês corrente, e no relátório deveria vir o mês desejado e seus próximos 2 meses. Pensando em utilização, o cliente poderia escolher o mês de dezembro (12), e para aproveitar a função em tempo de execução, uma googlada basica cheguei nisso:
DELIMITER $ CREATE FUNCTION GET_STRING_MONTH(month INT) RETURNS VARCHAR(9) NO SQL BEGIN DECLARE str_month VARCHAR(9); SET month = MOD(month, 12); CASE month WHEN 1 THEN SET str_month = 'Janeiro'; WHEN 2 THEN SET str_month = 'Fevereiro'; WHEN 3 THEN SET str_month = 'Março'; WHEN 4 THEN SET str_month = 'Abril'; WHEN 5 THEN SET str_month = 'Maio'; WHEN 6 THEN SET str_month = 'Junho'; WHEN 7 THEN SET str_month = 'Julho'; WHEN 8 THEN SET str_month = 'Agosto'; WHEN 9 THEN SET str_month = 'Setembro'; WHEN 10 THEN SET str_month = 'Outubro'; WHEN 11 THEN SET str_month = 'Novembro'; WHEN 0 THEN SET str_month = 'Dezembro'; END CASE; RETURN str_month; END;$ DELIMITER ; |
Só copiar a função, jogar no client do mysql utilizar como o exemplo:
SELECT GET_STRING_MONTH(1), GET_STRING_MONTH(6), GET_STRING_MONTH(18); |





