举个简单的例子:
比如你有一个人员表有一个sex属性,但是这个属性一般使用数字表示1表示男2表示女,这时候我们想要直观的得到这个人是男是女,我们就可以使用到case when then语句:
case table.sex
when 1 then '男'
when 2 then '女'
else 其他 end
实际中的应用:
最近在吧excel中的数据导入到数据库中,而数据库有一个是否全国和是否海外的字段,在excel中他是写的是或者否,但是数据库中要插入的是bool类型的所有在sql中使用了case when then语句
INSERT INTO cust_newcust_product(/*各个字段*/)
SELECT
/*其他查询字段*/
CASE
temp_new.is_all_overseas
WHEN '是' THEN
TRUE ELSE FALSE
END as all_overseas,
0 AS "state" ,
CASE
temp_new.is_all_overseas
WHEN '是' THEN
TRUE ELSE FALSE
END as all_overseas
FROM
temp_new
/*各种连表和条件*/