-1
DELIMITER $$;
DROP FUNCTION IF EXISTS tonumeric $$;
CREATE FUNCTION tonumeric() returns numeric
BEGIN
    declare num numeric;
    set num = to_number('12');
    return num;
END$$
DELIMITER; $$

この関数を実行すると、このエラーに直面しています。

エラー コード : 1064 SQL 構文にエラーがあります。1行目の「IF EXISTS tonumeric」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください(0ミリ秒かかります)

エラー コード : 1064 SQL 構文にエラーがあります。near '; を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。CREATE FUNCTION tonumeric() は数値を返します BEGIN 数値を宣言します。1 行目に num' を設定します (0 ミリ秒かかります)

ありがとう

4

1 に答える 1

3

これはどう:

DELIMITER $$
DROP FUNCTION IF EXISTS tonumeric $$
CREATE FUNCTION tonumeric() returns numeric
BEGIN
    declare num numeric;
    set num = to_number('12');
    return num;
END$$
DELIMITER ;

デリミタは、; で終了してはならないという点で特別なコマンドです。-- 実際には区切り文字を「$$」ではなく「$$;」に設定しています。

于 2009-10-08T14:00:31.493 に答える