Giả sử đây là tất cả các tên chung (bảng sẽ không phải là một tên bảng tốt), vấn đề là bạn không thể sử dụng ==để so sánh. Bạn cũng đang thiếu một số cú pháp quan trọng (DECLARE, SELECT INTO, v.v.).
Thay đổi thành này:
CREATE FUNCTION func01(value1 INT , monto DECIMAL (10,2))
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGIN
DECLARE var_name DECIMAL(10,2);
SET var_name = 0;
SELECT if(value1 = 1,monto *divisa_dolar,monto *divisa_euro) INTO var_name
FROM table
WHERE data_init = 1;
RETURN var_name;
END
Các hàm và toán tử so sánh MySQL
Câu hỏi liên quan: Các dấu bằng đơn trong MYSQL
Trợ giúp về chức năng: http:// www. databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm