# 1、ABS(x)返回x的绝对值
SELECT ABS(-1);
# 2、AVG(expression) 返回一个表达式的平均值,expression 是一个字段
SELECT AVG(salary) FROM employees;
# 3、CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数
SELECT CEIL(1.5);
SELECT CEILING(1.5);
# 4、FLOOR(x) 返回小于或等于 x 的最大整数
SELECT FLOOR(1.5);
# 5、EXP(x) 返回 e 的 x 次方
SELECT EXP(3);
# 6、GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值
SELECT GREATEST(3, 12, 34, 8, 25);
# 7、LEAST(expr1, expr2, expr3, …) 返回列表中的最小值
SELECT LEAST(3, 12, 34, 8, 25);
# 8、LN 返回数字的自然对数
SELECT LN(2);
# 9、LOG(x) 返回自然对数(以 e 为底的对数)
SELECT LOG(20.085536923188);
# 10、MAX(expression)返回字段 expression 中的最大值
SELECT MAX(salary) FROM employees;
# 11、MIN(expression)返回字段 expression 中的最大值
SELECT MIN(salary) FROM employees;
# 12、POW(x,y)/POWER(x,y)返回 x 的 y 次方
SELECT POW(2,3);
SELECT POWER(2,3);
# 13、RAND()返回 0 到 1 的随机数
SELECT RAND();
# 14、ROUND(x)返回离 x 最近的整数
SELECT ROUND(1.23456);
# 15、SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
SELECT SIGN(-10);
# 16、SQRT(x)返回x的平方根
SELECT SQRT(25);
# 17、SUM(expression)返回指定字段的总和
SELECT SUM(salary) FROM employees;
# 18、TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)
SELECT TRUNCATE(1.23456,3);
四、流程控制函数
if函数: if else 的效果
SELECT IF(10<5,'大','小');
SELECT
last_name,commission_pct,IF(commission_pct ISNULL,'没奖金,呵呵','有奖金,嘻嘻') 备注
FROM
employees;
case函数的使用
switch case 的效果
case 要判断的字段或表达式
when 常量1then 要显示的值1或语句1;
when 常量2then 要显示的值2或语句2;
…
else 要显示的值n或语句n;
end
案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为1.3倍
其他部门,显示的工资为原工资
---------------------------------------------SELECT
salary 原始工资,department_id,
CASE department_id
WHEN30THEN salary*1.1WHEN40THEN salary*1.2WHEN50THEN salary*1.3ELSE salary
ENDAS 新工资
FROM
employees;