1、case when 方式
case when有两种表现形式,如下代码所示
SELECT
pb.baby_name,
CASE
baby_sex
WHEN '0' THEN '男'
WHEN '1' THEN '女'
ELSE '未知'
END baby_sex
FROM
pregnant_baby pb;
SELECT
pb.baby_name,
CASE
WHEN baby_sex = '0' THEN '男'
WHEN baby_sex = '1' THEN '女'
ELSE '未知'
END baby_sex
FROM
pregnant_baby pb;
2、if
if函数有三个参数,if(参数1,参数2,参数3)。如果参数1为真,则返回参数2,否则返回参数3。
SELECT
pb.baby_name,
IF(baby_sex = '0',
'男',
'女') baby_sex
FROM
pregnant_baby pb;
SELECT
pb.baby_name,
IF(baby_sex = '0',
'男',
IF(baby_sex = '1',
'女',
'未知')) baby_sex
FROM
pregnant_baby pb;
3、ifnull
ifnull有两个参数,ifnull(参数1,参数2)。如果参数1为null,则返回参数2,否则返回参数1。
SELECT
pb.baby_name,
ifnull(pb.create_time,
now()) create_time
FROM
pregnant_baby pb;
4、nullif
nullif有两个参数,nullif(参数1,参数2)。如果参数1和参数2相等则返回null,否则返回参数1。
SELECT
NULLIF(1,
1);
SELECT
NULLIF(1,
2);
5、coalesce
coalesce可以有多个参数,coalesce(参数1,参数2,。。。,参数N)。返回第一个不为空的参数。
SELECT
COALESCE(NULL,
2,
3,
4)
6、isnull
SELECT
isnull(NULL)
ifnull含有一个参数,ifnull(参数)。如果参数为null,则返回1代表true,否则返回0代表false。