quarta-feira, fevereiro 14, 2007

Funções


Aí está um exemplo da criação e utilização de funções no MySQL.

mysql> DROP FUNCTION IF EXISTS F_NOMEMES;

Saída no console: Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER //

mysql> CREATE FUNCTION F_NOMEMES (P_MES INT) RETURNS
VARCHAR(30)
BEGIN
DECLARE MesExtenso VARCHAR(15);

CASE P_Mes
WHEN 01 THEN
SET MesExtenso = 'Janeiro';
WHEN 02 THEN
SET MesExtenso = 'Fevereiro';
WHEN 03 THEN
SET MesExtenso = 'Março';
WHEN 04 THEN
SET MesExtenso = 'Abril';
WHEN 05 THEN
SET MesExtenso = 'Maio';
WHEN 06 THEN
SET MesExtenso = 'Julho';
WHEN 07 THEN
SET MesExtenso = 'Julho';
WHEN 08 THEN
SET MesExtenso = 'Agosto';
WHEN 09 THEN
SET MesExtenso = 'Setembro';
WHEN 10 THEN
SET MesExtenso = 'Outubro';
WHEN 11 THEN
SET MesExtenso = 'Novembro';
WHEN 12 THEN
SET MesExtenso = 'Dezembro';
ELSE
SET MesExtenso = 'Mês inválido!';
END CASE;

RETURN MesExtenso;

END;
//

Saída no console: Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;

mysql> SELECT F_NOMEMES(DATE_FORMAT(NOW(), '%m')) Mes_Atual;

Saída no console:
+-----------+
| Mes_Atual |
+-----------+
| Fevereiro |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT F_NOMEMES(12) Mes_Atual;

Saída no console:
+-----------+
| Mes_Atual |
+-----------+
| Dezembro |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT F_NOMEMES(13) Mes_Atual;

Saída no console:
+---------------+
| Mes_Atual |
+---------------+
| Mês inválido! |
+---------------+
1 row in set (0.00 sec)

Não há muito o que falar sobre funções então me despeço por
aqui.

Em breve: visões.

Nenhum comentário: