私は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の文字で
=ケースときにCODEN < 50行で '' CODEN < 100ワット、4」
をすることができます私が間違っている場所を教えてください。あなたの助けに感謝。
私は構文は 'のあまりに多くの記号で表示されることがさらに編集が必要だと思います。 –
'default 0 ='?それは何であるはずですか? 'coden'を' 0 = cast(...) 'のブーリアン結果にしようとしていますか?デフォルト値は式にすることはできません。 –