Return value from a function : Function Returning « Procedure Function « MySQL Tutorial






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>








11.4.Function Returning
11.4.1.Return value from a function
11.4.2.Return integer value from a function
11.4.3.Return NUMERIC(8,2) from a function
11.4.4.Check function parameter and return value
11.4.5.Using the returning value from a user-defined function in order by clause
11.4.6.Returning Decimal from the function