是的,您可以编写自己的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 // 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)