CASE函数
CASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回 result,而当有一个成立之后,后面的就不执行了。
SELECT id,user_name,age ,CASE
WHEN age<18 THEN '小于18'
WHEN age BETWEEN 18 and 20 THEN '已成年'
WHEN age BETWEEN 21 and 30 THEN '21-30'
ELSE
'30以上'
END as des FROM t_user;
IF(expr,v1,v2)
如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。
SELECT t.*, IF(age>=18,'成年人','青少年') as des FROM t_user as t;
IFNULL(v1,v2)
如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
SELECT t.*, IF(age>=18,'成年人','青少年') as des FROM t_user as t;
ISNULL(expression)
判断表达式是否为 NULL
SELECT t.*,ISNULL(address) as addressNull FROM t_student as t;
NULLIF(expr1, expr2)
比较两个字符串,如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1
SELECT NULLIF('a','a') ,NULLIF('a','b');
CAST(x AS type)
转换数据类型
select CAST('2022-02-13' as DATE) ;
select CAST('2022-02-13 12:12:24' as TIME) ;
select CAST(97 as CHAR) ;
select CAST(5-20 as SIGNED) ;
select CAST(12.666 as DECIMAL);
select CAST('66' as BINARY);
VERSION()
返回数据库版本号
SELECT VERSION();