Syntax error with mySQL query function to convert decimal to letter class

I am having problems with a syntax error when trying to create a function in MySQL to convert a decimal class to a letter class.

What could be the problem?

ERROR 1064 (42000): You have an error in the SQL syntax; check the manual that matches your version of mySQL server for the correct syntax to use next to the 'conv (gpa DOUBLE)
CHAR RETURN BEGIN DECLARE CHAR class;
CHOOSE THE CASE WHEN gp 'on line 1

Here is my code:

delimiter $

CREATE FUNCTION conv(gpa DOUBLE) 
RETURNS CHAR
BEGIN 

DECLARE grade CHAR; 

SELECT CASE WHEN gpa BETWEEN 3.5 AND 4.0 THEN 'A' 
WHEN gpa BETWEEN 3.0 AND 3.4 THEN 'B' 
WHEN gpa BETWEEN 2.5 AND 2.9 THEN 'C' 
WHEN gpa BETWEEN 2.0 AND 2.4 THEN 'D' 
ELSE 'F' 
END INTO grade 

RETURN grade;

END $
+5
source share
1 answer

You are missing the half-colony at the end:

SELECT CASE WHEN gpa BETWEEN 3.5 AND 4.0 THEN 'A' 
WHEN gpa BETWEEN 3.0 AND 3.4 THEN 'B' 
WHEN gpa BETWEEN 2.5 AND 2.9 THEN 'C' 
WHEN gpa BETWEEN 2.0 AND 2.4 THEN 'D' 
ELSE 'F' 
END INTO grade;

, , , conv, - .

+3

All Articles