MySQL函数的基本使用

1、创建函数

选择如图所示的两种方式。
1.点击上方【函数】——>点击下方【新建函数】
2.右键【函数】——>点击右侧【新建函数】

在这里插入图片描述

选择函数
在这里插入图片描述

随便起个名字(如aa),类型选择aa的类型。因为下面的案例和钱有关,所以此处选择decimal类型。
在这里插入图片描述

在这里插入图片描述

点击完成后,自动生成如下代码

CREATE DEFINER = CURRENT_USER FUNCTION `NewProc`(`aa` decimal)
    RETURNS integer(10)
BEGIN
    #Routine body goes here...

    RETURN 0;
END;

在这里插入图片描述

2、编写以下功能

在这里插入图片描述

CREATE DEFINER = CURRENT_USER FUNCTION `f1`(`aa` decimal)
    RETURNS integer(10)
BEGIN
    #声明两个变量
    DECLARE temp DECIMAL;
    declare tax DECIMAL;
    #将传入的值减去3500赋值给temp
    set temp = aa - 3500;
    CASE 
        WHEN temp <= 0 THEN
            set tax = 0;
        WHEN temp > 0 and temp <= 1500 THEN
            set tax = temp*0.03-0;
        WHEN temp > 1500 and temp <= 4500 THEN
            set tax = temp*0.10-105;
        WHEN temp > 4500 and temp <= 9000 THEN
            set tax = temp*0.20-555;
        WHEN temp > 9000 and temp <= 35000 THEN
            set tax = temp*0.25-1005;
        WHEN temp > 35000 and temp <= 55000 THEN
            set tax = temp*0.30-2755;
        WHEN temp > 55000 and temp <= 80000 THEN
            set tax = temp*0.35-5505;
        ELSE
            set tax = temp*0.45-13505;
    END CASE;
    RETURN tax;
END;

在这里插入图片描述

点击保存时出现以下问题
在这里插入图片描述

可以通过下面两种方式解决。

1、在 MySQL 数据库中执行以下语句,临时生效,重启后失效

set global log_bin_trust_function_creators=TRUE;
2、在配置文件 my.ini 的 [mysqld] 配置,永久生效

log_bin_trust_function_creators=1

点击运行,输入4000,点确定,返回计算后的结果。
在这里插入图片描述

(4000-3500)*0.03 = 15
在这里插入图片描述

sql语句查询

SELECT f1(4000)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值