我可以编写自己的MySQL函数以用于MySQL查询吗?

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