Featured Posts

Boas práticas e convenção de código Java Como a oracle comprou a tão conhecida Sun microsystems, e sabe lá deus se o conteudo do site pode sumir do dia pra noite, vou deixar arquivado aqui um pdf, com as boas práticas e conveção de código...

Readmore

Resetar senha do mysql 5 no windows para quem esqueceu Hoje eu estava dentro do mysql (no windows, acredito que no linux o processo tambem seja igual), e precisava trocar a senha dele por uma mais trivial. Tarefa fácil, ja fiz muitas vezes e não irei errar!...

Readmore

Resetar senha do mysql 5 no windows para quem esqueceu Hoje eu estava dentro do mysql (no windows, acredito que no linux o processo tambem seja igual), e precisava trocar a senha dele por uma mais trivial. Tarefa fácil, ja fiz muitas vezes e não irei errar!...

Readmore

Gráficos com Google Chart API Toda pessoa que se torna programador :P, um dia na vida pelo menos, vai ter a necessidade de mostrar dados em formas de gráficos! Veja agora um pouco de Google Chart API em 10 minutos. A API do Google...

Readmore

Backup e importação de dados no Mysql Se você tem acesso à maquina na qual o Mysql está instalado ou seu servidor permite conexões externas, você pode facilmente criar um backup de um banco de dados em poucos minutos. Primeiramente,...

Readmore

  • Prev
  • Next

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);

Write a comment

Security Code: