高阶语句3
- 一.数据库函数
-
- 1.数学函数
-
-
- 1)返回x的绝对值
- 2)返回 0到1的随机数
- 可搭配运算符
- 3)返回x的y次方
- 4) 返回离x最近的整数(四舍五入)
- 5)保留x的y位小数位(四舍五入)
- 6)返回x的平方根
- 7) 返回数字x 截断为y位小数的值(保留小数后两位,truncate不会四舍五入)
- 8)返回大于或等于x的最小整数
- 9)返回小于或等于x的最大整数
- 10)返回集合中最大的值
- 11)返回集合中最小的值
- 2.聚合函数
-
- 1)返回字段的总和
- 2)返回字段的个数
- 3)返回字段最小值
- 4)返回字段的最大值
- 5)返回字段的平均值
- 3.字符串函数
-
-
-
- 1)返回字符串长度,空格也算一个字符
- 2)去掉格式只输出字符串
- 3)两个字段进行拼接
- 4)拼接结合去掉格式
- 5)把字段转换为大写
- 6) 把字段转换为小写
- 7)返回字符串的前n个字母
- 8)返回字符串的最后n个字母
- 9) 把字符串前3个字母和后3个字母拼接起来
- 10)重复字符串n次
- 11)返回3个空格,显示无法看出几个空格,这里用length函数显示长度
- 12)用aa替换hello中的ll
- 13)比较17和18,小于返回-1,等于返回0,大于返回1只会返回这3个值,比较的第一位数字
- 14) 返回从字符串中第三个字符开始的4个字符
- 15)字符串反转显示
- 16)返回字符串3个字符,然后反转输出
-
- 4.日期时间函数
-
-
-
- 1)返回时间
- 返回年月日
- 返回当前时间
- 返回当前完整时间
- 返回时间年、月、周
- 返回当前时间的小时
- 返回当前时间分钟
- 返回当前时间的秒
- 返回当前是星期几
- 当前日期是本年的第几天
一.数据库函数
Mysql数据库函数提供了能够实现各种功能的办法
,使我们在查询记录时能够更高效的输出
mysql是内建了很多函数,
常用的包括数学函数、聚合函数、字符串函数和日期时间函数
1.数学函数
数据库内存储的记录,
经常要进行一系列的算术操作,mysql支持很多数学函数
常用的数学函数:
数学函数 |
描述 |
abs(x) |
返回x的绝对值 |
rand() |
返回0到1的随机数 |
mod(x,y) |
返回x除以y以后的余数 |
power(x,y) |
返回x的y次方 |
round(x) |
返回离x最近的整数 |
round(x,y) |
保留x的y位小数四舍五入后的值 |
sqrt(x) |
返回x的平方根 |
truncate(x,y) |
返回数字x截断为y位小数的值 |
ceil(x) |
返回大于或等于x的最小整数 |
floor(x) |
返回小于或等于x的最大整数 |
greatest(x1,x2…) |
返回集合中最大的值 |
least(x1,x2…) |
返回集合中最小的值 |
1)返回x的绝对值
abs(x)
select abs(-3);
2)返回 0到1的随机数
rand()
select rand();
可搭配运算符
select rand()*100;
select rand()*20;
3)返回x的y次方
power (x,y)
select power(2,3);
4) 返回离x最近的整数(四舍五入)
round (x)
select round(1.8);
select round(1.45);
select round(1.5);
5)保留x的y位小数位(四舍五入)
round(x,y)
select round(1.8966,2);
select round(1.8946,3);
6)返回x的平方根
sqrt(x)
select sqrt(4);
select sqrt(16);
7) 返回数字x 截断为y位小数的值(保留小数后两位,truncate不会四舍五入)
truncate(x,y)
select truncate(1.896,2);
select truncate(1.896,1);
8)返回大于或等于x的最小整数
ceil(x)
select ceil(5.2);
9)返回小于或等于x的最大整数
floor(x)
select floor(5.2);
select floor(4.7);
10)返回集合中最大的值
greatest(1..2..)
select greatest(1,2,3);
11)返回集合中最小的值
least(1..2..)
select least(1,2,3);
2.聚合函数
特意位库内记录求和或者对表中的数据进行集中概括而设计的
即:
库内记录
对表中数据进行集中概括而设计的
聚合函数:
avg() |
返回指定列的平均值 |
count() |
返回指定列中非null值的个数 |
min() |
返回指定列的最小值 |
max() |
返回指定列的最大值 |
sum(x) |
返回指定列的所有值之和 |
1)返回字段的总和
sum()
select sum(score) from info;
2)返回字段的个数
count()
select count(score) from info;
3)返回字段最小值
min()
select min(score) from info;
4)返回字段的最大值
max()
select max(score) from info;
5)返回字段的平均值
avg()
select avg(hobby) from info;
3.字符串函数
字符串函数 |
描述 |
length(x) |
返回字符串x的长度 |
trim() |
返回去除指定格式的值 |
concat(x,y) |
将提供的参数x和y拼接成一个字符串 |
upper(x) |
将字符串x的所有字符变成大写字母 |
left(x,y) |
返回字符串x的前y个字符 |
right(x,y) |
返回字符串x的后y个字符 |
repeat(x,y) |
将字符串x重复y次 |
space(x) |
返回x个空格 |
replace(x,y,z) |
将字符串z替代字符串x中的字符串y |
strcmp(x,y) |
比较x和y,返回的值可以位-1,0,1 |
substring(x,y,z) |
获取从字符串x中的第y个位置开始长度为z的字符串 |
reverse(x) |
字符串x反转(即方向排序) |
1)返回字符串长度,空格也算一个字符
length(...)
select length('abcd');
select length('ab cd');
select length('李四');
2)去掉格式只输出字符串
trim(...)
select trim(' abc');
3)两个字段进行拼接
concat(...)
select concat('abc','def');
4)拼接结合去掉格式
concat(...,trim(...))
select concat('abc',trim(' def'));
5)把字段转换为大写
upper(...)
select upper('abc');
6) 把字段转换为小写
lower(...)
select lower('ABC');
7)返回字符串的前n个字母
left(....,n)
select left('abcdefg',3);
8)返回字符串的最后n个字母
right(..,n)
select right('abcdefg',3);
9) 把字符串前3个字母和后3个字母拼接起来
concat(left(...,n),right(...,n));
select concat(left('abcdefg',3),right('abcdefg',3));
10)重复字符串n次
repeat(..,n);
select repeat('abc',2);
select repeat('abc',3);
11)返回3个空格,显示无法看出几个空格,这里用length函数显示长度
length(space(3));
select length(space(3));
12)用aa替换hello中的ll
replace('hello','ll','aa')
select replace('hello','ll','aa');
13)比较17和18,小于返回-1,等于返回0,大于返回1只会返回这3个值,比较的第一位数字
strcmp(17,18);
select strcmp(17,18);
select strcmp(17,17);
select strcmp(17,16);
14) 返回从字符串中第三个字符开始的4个字符
substring(...,3,4);
包含3
select substring('abcdefg',3,4);
15)字符串反转显示
reverse(...)
select reverse('abcdefg');
16)返回字符串3个字符,然后反转输出
reverse(left(...,3));
select reverse(left('abcdefg',3));
17)先将字符串反转,再输出前3个字符
left(reverse(...,),3);
select left(reverse('abcdefg'),3);
4.日期时间函数
字符串函数 |
描述 |
curdate() |
返回当前时间的年月日 |
curtime() |
返回当前时间的时分秒 |
now() |
返回当前时间的日期和时间 |
month(x) |
返回日期x中的月份值 |
week(x) |
返回日期x是年度第几个星期 |
hour(x) |
返回x中的小时值 |
minute(x) |
返回x中的分钟值 |
second(x) |
返回x中的秒种值 |
dayofweek(x) |
返回x是星期几 |
replace(x,y,z) |
将字符串z替代字符串x中的字符串y |
dayofmonth(x) |
计算日期x是本月的第几天 |
dayofyear(x) |
计算日期x是本年的第几天 |
1)返回时间
返回年月日
select curdate();
返回当前时间
select curtime();
返回当前完整时间
select now();
返回时间年、月、周
select week('2021-4-21');
select year('2021-4-21');
select month('2021-4-21');
返回当前时间的小时
select hour(curtime());
返回当前时间分钟
select minute(curtime());
返回当前时间的秒
select second(curtime());
返回当前是星期几
select dayofweek(curtime());
当前日期是本年的第几天
select dayofyear(curtime());