字段转换+CDATA

本文介绍了如何在SQL查询中使用casewhen进行年龄阶段划分,IF函数根据字段值判断性别,以及在mapperXML文件中使用CDATA标签处理特殊字符,以确保SQL语句正确执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL

1.字段转换case when

1.基础数据准备
create table user
(
    id  int default 0 not null
        primary key,
    name varchar(10)   null,
    age  int           null,
    sex  int           null
);

INSERT INTO mp.user (id, name, age, sex) VALUES (1, 'zhannsan', 18, 1);
INSERT INTO mp.user (id, name, age, sex) VALUES (2, 'lisi', 8, 1);
INSERT INTO mp.user (id, name, age, sex) VALUES (3, 'wangwu', 12, 0);
INSERT INTO mp.user (id, name, age, sex) VALUES (4, 'zhaoliu', 16, 0);

# 查询用户信息,根据不同的年龄段显示不同的阶段信息
         age >=6 and age <=12  ----> '小学'
         age > 12 and age <=15 ----> '初中'
         age > 15 and age <=18 ----> '高中'
# 实现:	
select
       id,name,
       case
          when age >=6 and age <=12 then '小学'
          when age > 12 and age <=15 then '初中'
          when age > 15 and age <=18 then '高中'
           else '其它'
       end  '阶段'
from
     user;

2.if函数

# 如果字段值,如果是1则为男,否则为女
select id,name,
       if(sex=1,'男','女') as sex
from user;

3.CDATA使用

 在mapper xml文件中的结构是: <![CDATA[ sql语句 ]]>
作用:在mapper文件中sql是写在xml 映射文件时,遇到特殊字符时,如:< 等,建议使用<![CDATA[ sql 语句 ]]>标记,将sql语句包裹住,这样特殊字符不会被解析器解析;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值