Может ли кто-нибудь помочь мне решить ошибку в этом SQL запросе? - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь создать функцию SQL, которая будет принимать 2 параметра и преобразовывать их в требуемый формат. Мой запрос

DELIMITER $$

CREATE FUNCTION Convertcase(
    sentence VARCHAR(50),req_case VARCHAR(50)
) 
RETURNS VARCHAR(50)
DETERMINISTIC
BEGIN
DECLARE word VARCHAR(50);
IF req_case = 'upper' THEN
    SET word= UPPER(sentence);
ELSEIF req_case = 'lower' THEN
    SET word= LOWER(sentence);
RETURN (word);
END$$
DELIMITER;

convertcase('test sentence','upper')

, но я получил ошибку

Query : CREATE FUNCTION Convertcase(      sentence varchar(50),req_case varchar(50)  )   RETURNS VARCHAR(50)  DETERMINISTIC  BEGIN  DECL...
Error Code : 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 13

1 Ответ

0 голосов
/ 03 мая 2020

Вам нужно и закончить, если;

drop function if exists convert_case;
DELIMITER $$
CREATE FUNCTION convert_case(sentence VARCHAR(50),req_case VARCHAR(50)) 
RETURNS VARCHAR(50)
BEGIN
DECLARE word VARCHAR(50);
IF req_case = 'upper' THEN
    SET word= UPPER(sentence);
ELSEif req_case = 'lower' THEN
    SET word= LOWER(sentence);
end if; ########
return word;
END$$
DELIMITER ;
...