Mega Code Archive

 
Categories / MySQL / Procedure Function
 

Return value from a function

mysql> mysql> delimiter $$ mysql> mysql> CREATE FUNCTION myFunction(     ->         in_title VARCHAR(4),     ->         in_gender CHAR(1),     ->         in_firstname     VARCHAR(20),     ->         in_middle_initial CHAR(1),     ->         in_surname       VARCHAR(20))     ->     ->   RETURNS VARCHAR(60)     -> BEGIN     ->   DECLARE l_title               VARCHAR(4);     ->   DECLARE l_name_string         VARCHAR(60);     ->     ->   IF ISNULL(in_title)  THEN     ->      IF in_gender='M' THEN     ->         SET l_title='Mr';     ->      ELSE     ->         SET l_title='Ms';     ->      END IF;     ->   END IF;     ->     ->   IF ISNULL(in_middle_initial) THEN     ->      SET l_name_string=CONCAT(l_title,' ',in_firstname,' ',in_surname);     ->   ELSE     ->      SET l_name_string=CONCAT(l_title,' ',in_firstname,' ',     ->                           in_middle_initial,' ',in_surname);     ->   END IF;     ->     ->   RETURN(l_name_string);     -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> mysql> delimiter ; mysql> mysql> select myFunction('Mrs','M','First','Middle','Last'); +-----------------------------------------------+ | myFunction('Mrs','M','First','Middle','Last') | +-----------------------------------------------+ | NULL                                          | +-----------------------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> mysql> mysql> select myFunction(null,'M','First','Middle','Last'); +----------------------------------------------+ | myFunction(null,'M','First','Middle','Last') | +----------------------------------------------+ | Mr First M Last                              | +----------------------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> mysql> drop function myFunction; Query OK, 0 rows affected (0.00 sec) mysql> mysql>