首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL函数- IF语句

问SQL函数- IF语句
EN

Stack Overflow用户
提问于 2022-11-21 19:48:21
回答 1查看 37关注 0票数 0

我试图做一个功能,显示佣金的10%的销售和成本价格之间的差额时,销售低于50.00,20%,当它是超过50.00。输入以下内容时,我收到一个语法错误:

代码语言:javascript
复制
DELIMITER //
CREATE FUNCTION Commission_Sales 
(SALES_PRICE DECIMAL(4,2), COST_PRICE DECIMAL (4,2))
RETURNS DECIMAL (4,2)
DETERMINISTIC
IF SALES_PRICE >= 50.00 THEN    
BEGIN
DECLARE Commission DECIMAL(4,2);
  SET Commission = (SALES_PRICE - COST_PRICE) * 0.2;
  RETURN Commission;
END ;
ELSE
BEGIN
DECLARE Commission DECIMAL(4,2);
  SET Commission = (SALES_PRICE - COST_PRICE) * 0.1;
  RETURN Commission;
END ;
// DELIMITER ; 

有人能帮忙吗?

作为初学者,我不知道自己在做什么,所以这可能是一个简单的修正

EN

回答 1

Stack Overflow用户

发布于 2022-11-24 03:07:20

试试这个:

代码语言:javascript
复制
  DELIMITER //
  CREATE FUNCTION Commission_Sales 
    (SALES_PRICE DECIMAL(4,2), COST_PRICE DECIMAL (4,2))
  RETURNS DECIMAL (4,2)
  DETERMINISTIC
  BEGIN
    DECLARE Commission DECIMAL(4,2);
    IF SALES_PRICE >= 50.00 THEN    
      SET Commission = (SALES_PRICE - COST_PRICE) * 0.2;
    ELSE
      SET Commission = (SALES_PRICE - COST_PRICE) * 0.1;
    END IF;
    RETURN Commission;

  END //
  
  DELIMITER ; 

参考资料:https://dev.mysql.com/doc/refman/8.0/en/if.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74524182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档