예, 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)