我正在嘗試將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;
它給我的錯誤是:
在申報RET焦炭=情況下,當密碼子< 50則 'A' 當密碼子<100瓦特」第4行
你能請告訴我我錯在哪裏?感謝你的幫助。
我覺得需要進一步修改的語法出現與'太多的象徵。 –
'default 0 ='?那應該是什麼?試圖將'coden'設置爲'0 = cast(...)'的布爾結果?默認值不能是表達式。 –