目录

select * from student;
- +---------------+--------------+
- | student.name | student.sex |
- +---------------+--------------+
- | Marry | F |
- | Join | M |
- | Alex | F |
- | Tom | M |
- +---------------+--------------+
语法规则:
if(boolean testCondition, T valueTrue, T valueFalseOrNull)
使用说明:
当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull
使用举例:
select name,if(sex='F','男','女') sex from student;
- +--------+------+
- | name | sex |
- +--------+------+
- | Marry | 男 |
- | Join | 女 |
- | Alex | 男 |
- | Tom | 女 |
- +--------+------+
语法规则:
coalsece(T v1, T v2, …)
使用说明:
返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
使用举例:
select coalesce(null,name,sex) from student;
- +--------+
- | _c0 |
- +--------+
- | Marry |
- | Join |
- | Alex |
- | Tom |
- +--------+
此函数有两种语法规则;
第一种使用情况:
语法规则:
case a when b then c [when d then e]* [else f] end
使用说明:
如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f
使用举例:
select name, (case name when 'Marry' then '001' when 'Join' then '002' else '003' end) flag from student;
- +--------+-------+
- | name | flag |
- +--------+-------+
- | Marry | 001 |
- | Join | 002 |
- | Alex | 003 |
- | Tom | 003 |
- +--------+-------+
第二种使用情况:
语法规则:
case when a then b [when c when d]* [esle e] END
使用说明:
如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e
使用举例:
select name, (case when name='Marry' then '001' when name='Join' then '002' else '003' end) flag from student;
- +--------+-------+
- | name | flag |
- +--------+-------+
- | Marry | 001 |
- | Join | 002 |
- | Alex | 003 |
- | Tom | 003 |
- +--------+-------+