簡體   English   中英

mySQL查詢函數的語法錯誤,將小數等級轉換為字母等級

[英]Syntax error with mySQL query function to convert decimal grade to a letter grade

嘗試在MySQL中創建函數以將小數等級轉換為字母等級時,我遇到語法錯誤的麻煩。

可能是什么問題?

錯誤1064(42000):您的SQL語法有錯誤; 檢查與mySQL服務器版本對應的手冊,以便在'conv(gpa DOUBLE)RETURNS CHAR BEGIN附近使用正確的語法
DECLARE等級CHAR;
在第1行選擇gp'時的情況

這是我的代碼:

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 $

你在結尾附近錯過了一個分號:

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因為這已經意味着其他內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM