常用函数
数学运算类
- abs():绝对值(absolute value)
select abs(-8); --结果:8
- ceiling():向上取整
- floor():向下取整
select ceiling(2.1); --结果:3
select floor(2.1); --结果:2
-
rand():取0~1的随机数
-
sign():返回参数符号
负数返回-1
0返回0
正数返回1
字符串类
- char_length():返回字符串长度
select char_length('csdn'); --结果:4
- concat():连接字符串
select concat('cs'+'dn'); --结果:csdn
select concat(a, b) from `表`;
-- 举例:select concat('姓名', name) from `student`;
- insert(str, pos, len, newstr):在指定位置插入字符串,最多指定字符数,即从某个位置开始用newstr替换某长度
select insert('我在csdn写博客',3,4,'博客园'); --结果:我在博客园写博客
- instr(str, substr):返回第一次出现的子串的索引
select instr('csdn','d'); --结果:3
-
replace(str, from_str, to_str):替换指定字符
-
reverse():反转字符
select reverse('csdn'); --结果:ndsc
select replace('我在csdn写博客','csdn','博客园'); --结果:我在博客园写博客
-substr(str, pos, len):返回指定的子字符串
select substr('',);
在这里插入代码片
- upper():全部字母转大写
- lower():全部字母转小写
select upper('CSdn'); --结果:CSDN
select lower('CSdn'); --结果:csdn
时间类
- curdate():当前日期
- now():当前时间
- localtime():本地时间
- sysdate():系统时间
聚合函数
- avg():平均值
在这里插入代码片
- count():计数,查询表中记录
- 用法:
count(字段):统计结果时,会忽略字段为null值的记录
count(*):包含所有列,不会忽略null值
count(1):不会忽略null值 - 执行效率:
- 字段为主键时,count(字段)比count(1)快,反之,count(1)快;
- 若表存在多列且无主键,count(1)比count(*)快;
- 若表只有一个字段,count(*)效率最高;
- max():求最大值
- min():求最小值
- sum():求和