예, MySQL 쿼리에 사용할 자체 MySQL 함수를 작성할 수 있습니다. 다음은 구문입니다:
DELIMITER // CREATE FUNCTION yourFunctionName(optional parameters)) RETURNS yourDataType DETERMINISTIC NO SQL BEGIN yourStatements1 . . . . N END // DELIMITER ;
위의 CREATE FUNCTION을 사용하여 사용자 정의 함수를 생성했습니다.
MySQL 쿼리에서 사용할 사용자 정의 MySQL 함수를 생성해 보겠습니다.
mysql> DELIMITER //
mysql> CREATE FUNCTION get_First_Name(Name VARCHAR(255)) RETURNS
VARCHAR(255)
DETERMINISTIC
NO SQL
BEGIN
RETURN LEFT(Name,LOCATE(' ',Name) - 1);
END
//
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER ; 이제 SELECT 문을 사용하여 위의 함수를 호출합니다.
mysql> select get_First_Name('David Miller'); 그러면 다음과 같은 출력이 생성됩니다.
+--------------------------------+
| get_First_Name('David Miller') |
+--------------------------------+
| David |
+--------------------------------+
1 row in set, 2 warnings (0.00 sec)