Mysql_高阶语句3

高阶语句3

一.数据库函数

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值