1、字符函数
#1、length 获取参数值的字节个数
SELECT LENGTH(stu_name) FROM student;
#2、concat 拼接字符串
SELECT CONCAT(id,':',stu_name) FROM student;
#3、upper、lower
SELECT UPPER(stu_name) FROM student;
#4、substr、substring 截取字符串,索引从1开始
SELECT SUBSTR(stu_name,2) FROM student;
#5、inste 返回第二个参数在第一个参数的起始索引,找不到返回0
SELECT INSTR(stu_name,'旭') FROM student;
#6、trim 去除前后空格
SELECT TRIM(' aaa ');
SELECT TRIM('a' FROM 'aaaaaa哈哈哈aaaaaaaaa');
#7、lpad 用指定的字符实现左填充到指定的字符长度
#8、replace 替换指定字符
SELECT REPLACE('我爱mysql','mysql','java');
2、数字函数
#1、round 四舍五入 小数点后保留几位
SELECT ROUND(1.65);
SELECT ROUND(1.123,2);
#2、ceil 向上取整(返回大于等于该数的最小整数)
SELECT CEIL(1.66);
#3、floor 向下取整(返回小于等于该参数的最大整数)
#4、truncate 截断 小数点后保留几位
SELECT TRUNCATE(1.65,1);
#5、mod 取模
SELECT MOD(10,3);
3、日期函数
#1、now 返回当前时间
SELECT NOW();
#2、curdate 返回当前日期,不包含日期
SELECT CURDATE();
#3、str_to_date 将字符串转化为日期
SELECT STR_TO_DATE('1999-10-30','%Y-%c-%d')
SELECT STR_TO_DATE('10-30-1999','%c-%d-%Y');
#4、date_format 将日期转化为字符串
SELECT DATE_FORMAT('2000-10-02','%Y-%c-%d');
4、流程控制函数
if
语法:类似于Java的三元运算符
SELECT IF(10 > 5,'TRUE','FALSE')
case的用法一(等值判断)
语法:
case 要判断的字段或表达式
when 常量1 then 值1或表达式1
when 常量2 then 值2或表达式2
...
else 值n或表达式n
end
案例:
SELECT stu_name,age,
CASE age
WHEN 18 THEN '很年轻'
WHEN 19 THEN '年龄大了'
ELSE '老了'
END AS '年龄'
FROM student;
case的用法二(范围判断)
语法
case
when 条件1 then 值1或表达式1
when 条件2 then 值2或表达式2
...
else 值n或表达式n
end
案例:
SELECT stu_name,grade,
CASE
WHEN grade > 90 THEN '优秀'
WHEN grade > 80 THEN '良好'
WHEN grade > 70 THEN '一般'
ELSE '不及格'
END AS 成绩等级
FROM student;
5、分组函数
一、功能
通常用作统计使用,又称为聚合函数或统计函数
二、分类
sum求和 min最小值 max最大值 avg平均值 count计算个数
三、说明
1、支持哪些参数
sum、avg 一般用于处理数值型数据
min、max、count 可以处理任何类型
2、是否忽略null值
都忽略null值
3、和分组查询异同查询的字段要求是group by后面的字段
四、代码演示
select sum(grade) from student;