Я пытаюсь перенести скалярнозначную функцию MS SQL для работы в MySQL и использовал следующий синтаксис в качестве запросов для создания функции с именем xx4.mysql объявить переменную синтаксическую ошибку
DROP FUNCTION IF EXISTS `xx4`;`
CREATE DEFINER = CURRENT_USER FUNCTION `xx4`(code VARCHAR(3))`
RETURNS CHAR`
BEGIN
`DECLARE coden INT UNSIGNED DEFAULT 0= CAST(CODE AS UNSIGNED)`
`DECLARE ret CHAR =CASE`
`when coden<50 then 'A'`
`when coden<100 then 'B'`
`when coden<350 then 'C'`
`when coden<360 then 'D'`
`else null`
`END`
`RETURN ret`
`END;
Это дает мне ошибку, как:
в Declare отставке полукокса = случай, когда CODEN < 50 затем 'A', когда CODEN < 100 ш»в строке 4
Можете ли вы скажите, пожалуйста, где я ошибаюсь? Ценю вашу помощь.
Я думаю, что это требует дальнейшего редактирования, как синтаксис появляется слишком много символа '. –
'default 0 ='? что это должно быть? пытаясь установить 'coden' как логический результат' 0 = cast (...) '? значения по умолчанию не могут быть выражениями. –