Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql中case when用法

作者:狂神战天   发布日期:2025-05-08   浏览:58

-- 示例1:简单CASE表达式
SELECT 
    employee_id, 
    salary,
    CASE 
        WHEN salary > 8000 THEN 'High'
        WHEN salary > 5000 THEN 'Medium'
        ELSE 'Low'
    END AS salary_level
FROM employees;

-- 解释:
-- 这个查询会根据员工的薪资水平,将薪资分为'High', 'Medium', 和 'Low'三个等级。
-- 如果薪资大于8000,则标记为'High';如果薪资介于5000到8000之间,则标记为'Medium';否则标记为'Low'。

-- 示例2:使用CASE表达式进行数据转换
SELECT 
    product_id, 
    price,
    CASE 
        WHEN price < 10 THEN 'Very Cheap'
        WHEN price BETWEEN 10 AND 50 THEN 'Cheap'
        WHEN price BETWEEN 51 AND 100 THEN 'Normal'
        WHEN price BETWEEN 101 AND 200 THEN 'Expensive'
        ELSE 'Very Expensive'
    END AS price_category
FROM products;

-- 解释:
-- 这个查询会根据产品的价格范围,将产品分类为'Very Cheap', 'Cheap', 'Normal', 'Expensive', 和 'Very Expensive'。
-- 使用了BETWEEN关键字来定义价格区间。

-- 示例3:在UPDATE语句中使用CASE表达式
UPDATE orders
SET status = CASE 
    WHEN order_date < '2023-01-01' THEN 'Old'
    WHEN order_date >= '2023-01-01' AND order_date <= '2023-06-30' THEN 'Recent'
    ELSE 'New'
END;

-- 解释:
-- 这个UPDATE语句会根据订单日期更新订单的状态。
-- 如果订单日期早于2023年1月1日,则状态设为'Old';如果订单日期在2023年1月1日至2023年6月30日之间,则状态设为'Recent';否则状态设为'New'。

上一篇:mysql 删除表语句

下一篇:linux在线安装mysql

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站