目录
IF:根据不同条件返回不同的值
CASE:多条件判断,类似于Switch函数
IFNULL:用于检查一个值是否为NULL,如果是,则用指定值代替
NULLIF:比较两个值,如果相等则返回NULL,否则返回第一个值
COALESCE:返回第一个非NULL的值,适用于多个列
GREATEST:返回多个值中的最大值
LEAST:返回多个值中最小值
IF:根据不同条件返回不同的值
SELECT IF(age >= 60, '及格', '不及格') AS level FROM score;
也可以用来判断关联的表(join)是否有值,如果有值则为true,没值则为false
CASE:多条件判断,类似于Switch函数
select casewhen bond_value >= 0 and bond_value <= 30 then '低'when bond_value > 30 and bond_value <= 60 then '中'when bond_value > 60 and bond_value <= 90 then '高'end
from t_bound_price;
IFNULL:用于检查一个值是否为NULL,如果是,则用指定值代替
SELECT IFNULL(phone, 'No phone number')
FROM contacts;
NULLIF:比较两个值,如果相等则返回NULL,否则返回第一个值
select nullif(bond_id, '1')
from t_bound;
如果bound_id等于1,则返回NULL
COALESCE:返回第一个非NULL的值,适用于多个列
select coalesce(bond_id, bond_name)
from t_bound
GREATEST:返回多个值中的最大值
SELECT GREATEST(score1, score2, score3) AS highest_score
FROM students;
LEAST:返回多个值中最小值
SELECT LEAST(price1, price2, price3) AS lowest_price
FROM products;