mysql case when 用法
MySQL 的 case when 的语法有两种:
- 简单函数
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
- 搜索函数
CASE WHEN [expr] THEN [result1]…ELSE [default] END
区别:
搜索函数可以写判断,并且搜索函数只会返回第一个符合条件的值,其他case
被忽略
以下是示例,查看近7天的订单:
SELECT
`order_id` AS "订单号",
price` AS "实际金额",
CASE status
WHEN 1 THEN
'已退货'
WHEN 3 THEN
'无效'
WHEN 15 THEN
'待付款'
WHEN 16 THEN
'已付款'
WHEN 17 THEN
'已完成'
ELSE
'其它'
END AS "订单状态",
DATE_FORMAT(order_time, '%Y-%m-%d %H:%i:%s') AS "下单时间"
FROM
order_table
WHERE
order_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY)
AND now()
ORDER BY
order_time ASC