我想在MySQL中创建一个函数:
这是SQL代码:
CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal)
RETURNS decimal
DETERMINISTIC
BEGIN
DECLARE dist decimal;
SET dist = SQRT(x1 - y1);
RETURN dist;
END;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL
server version for the right syntax to use near '' at line 10
Run Code Online (Sandbox Code Playgroud)
我在phpMyAdmin中运行此create语句.这个功能有什么问题?
jam*_*ond 78
你必须覆盖你的;分隔符,$$以避免这种错误.
在函数定义之后,可以将分隔符设置回;.
这应该工作:
DELIMITER $$
CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal)
RETURNS decimal
DETERMINISTIC
BEGIN
DECLARE dist decimal;
SET dist = SQRT(x1 - y1);
RETURN dist;
END$$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
小智 23
MySQL创建函数语法:
DELIMITER //
CREATE FUNCTION GETFULLNAME(fname CHAR(250),lname CHAR(250))
RETURNS CHAR(250)
BEGIN
DECLARE fullname CHAR(250);
SET fullname=CONCAT(fname,' ',lname);
RETURN fullname;
END //
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
在查询中使用此函数
SELECT a.*,GETFULLNAME(a.fname,a.lname) FROM namedbtbl as a
SELECT GETFULLNAME("Biswarup","Adhikari") as myname;
Run Code Online (Sandbox Code Playgroud)
观看此视频如何创建mysql函数以及如何在查询中使用
| 归档时间: |
|
| 查看次数: |
111938 次 |
| 最近记录: |