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();