MYSQL8控制流函数

控制流函数

https://www.runoob.com/mysql/mysql-functions.html


IF逻辑判断语句

image.png

image.png


IFNULL(字段,指定值)-NULL作为指定值

-- 如果comm的值为null,则当作0,不为null,则还是原来的值
ifnull(comm,0) 

NULLIF()比较字符串是否相等

比较两个字符串,如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1
image.png

-- 如果值1为NULL,将其替换为apple
SELECT NULLIF(1, 'apple') FROM t;

ISNULL()–判断表达式是否为NULL

image.png


CASE WHEN语句

多选其一。
image.png

-- case when语句
SELECT CASE
        5
        WHEN 1 THEN '你好'
        WHEN 2 THEN 'hello'
        WHEN 5 THEN '正确'
        ELSE '其他'
    END AS info;

image.png

-- case when语句
-- 执行第一条正确的语句。
SELECT CASE
        WHEN 2 > 1 THEN '你好'
        WHEN 2 < 1 THEN 'hello'
        WHEN 3 > 2 THEN '正确'
        ELSE '其他'
    END AS info;

image.png


示例:

数据准备

USE mydb1;
-- 创建orders订单表
-- oid 订单ID
-- price 订单价格
-- payType 支付类型(1:微信,2:支付宝,3:银行卡,4:其他)
CREATE TABLE mydb1.orders(
    oid INT primary key COMMENT '订单id',
    price double COMMENT '订单价格',
    payType int COMMENT '支付类型'
);
-- 插入数据
INSERT INTO mydb1.orders
VALUES(1, 1200, 1),
    (2, 1000, 2),
    (3, 200, 3),
    (4, 3000, 1),
    (5, 1500, 2);

查询示范

SELECT *,
    CASE
        payType
        WHEN 1 THEN '微信支付'
        WHEN 2 THEN '支付宝'
        WHEN 2 THEN '银行卡'
        ELSE '其他支付'
    END AS payTypeStr
FROM mydb1.orders;

image.png
image.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值