Mysql_高阶语句3

高阶语句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个字符,然后反转输出
        • 17)先将字符串反转,再输出前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);

Mysql_高阶语句3_第1张图片

2)返回 0到1的随机数

rand()
select rand();

Mysql_高阶语句3_第2张图片

可搭配运算符

select rand()*100;
select rand()*20;

Mysql_高阶语句3_第3张图片

3)返回x的y次方

power (x,y) 
select power(2,3);

Mysql_高阶语句3_第4张图片

4) 返回离x最近的整数(四舍五入)

round (x)
select round(1.8);
select round(1.45);
select round(1.5);

Mysql_高阶语句3_第5张图片

5)保留x的y位小数位(四舍五入)

round(x,y)
select round(1.8966,2);
select round(1.8946,3);

Mysql_高阶语句3_第6张图片

6)返回x的平方根

 sqrt(x)
select sqrt(4);
 select sqrt(16);

Mysql_高阶语句3_第7张图片

7) 返回数字x 截断为y位小数的值(保留小数后两位,truncate不会四舍五入)

truncate(x,y)
select truncate(1.896,2);
select truncate(1.896,1);

Mysql_高阶语句3_第8张图片

8)返回大于或等于x的最小整数

ceil(x)
select ceil(5.2);

Mysql_高阶语句3_第9张图片

9)返回小于或等于x的最大整数

floor(x)
select floor(5.2);
select floor(4.7);

Mysql_高阶语句3_第10张图片

10)返回集合中最大的值

 greatest(1..2..)
select greatest(1,2,3);

Mysql_高阶语句3_第11张图片

11)返回集合中最小的值

 least(1..2..)
select least(1,2,3);

Mysql_高阶语句3_第12张图片

2.聚合函数

 特意位库内记录求和或者对表中的数据进行集中概括而设计的
即:
库内记录
对表中数据进行集中概括而设计的

聚合函数:

avg() 返回指定列的平均值
count() 返回指定列中非null值的个数
min() 返回指定列的最小值
max() 返回指定列的最大值
sum(x) 返回指定列的所有值之和

1)返回字段的总和

 sum()
 select sum(score) from info;

Mysql_高阶语句3_第13张图片

2)返回字段的个数

count()
select count(score) from info;

Mysql_高阶语句3_第14张图片

3)返回字段最小值

min()
select min(score) from info;

Mysql_高阶语句3_第15张图片

4)返回字段的最大值

 max()
select max(score) from info;

Mysql_高阶语句3_第16张图片

5)返回字段的平均值

 avg()
 select avg(hobby) from info;

Mysql_高阶语句3_第17张图片

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('李四');

Mysql_高阶语句3_第18张图片

2)去掉格式只输出字符串

trim(...)
 select trim('  abc');

Mysql_高阶语句3_第19张图片

3)两个字段进行拼接

 concat(...)
 select concat('abc','def');

Mysql_高阶语句3_第20张图片

4)拼接结合去掉格式

concat(...,trim(...))
select concat('abc',trim('  def'));

Mysql_高阶语句3_第21张图片

5)把字段转换为大写

upper(...)
 select upper('abc');

Mysql_高阶语句3_第22张图片

6) 把字段转换为小写

lower(...)
select lower('ABC');

Mysql_高阶语句3_第23张图片

7)返回字符串的前n个字母

 left(....,n)
select left('abcdefg',3);

Mysql_高阶语句3_第24张图片

8)返回字符串的最后n个字母

right(..,n)
select right('abcdefg',3);

Mysql_高阶语句3_第25张图片

9) 把字符串前3个字母和后3个字母拼接起来

 concat(left(...,n),right(...,n));
select concat(left('abcdefg',3),right('abcdefg',3));

Mysql_高阶语句3_第26张图片

10)重复字符串n次

repeat(..,n);
select repeat('abc',2);
select repeat('abc',3);

Mysql_高阶语句3_第27张图片

11)返回3个空格,显示无法看出几个空格,这里用length函数显示长度

length(space(3));
 select length(space(3));

Mysql_高阶语句3_第28张图片

12)用aa替换hello中的ll

 replace('hello','ll','aa')
select replace('hello','ll','aa');

Mysql_高阶语句3_第29张图片

13)比较17和18,小于返回-1,等于返回0,大于返回1只会返回这3个值,比较的第一位数字

 strcmp(17,18);
select strcmp(17,18);
select strcmp(17,17);
select strcmp(17,16);

Mysql_高阶语句3_第30张图片

14) 返回从字符串中第三个字符开始的4个字符

substring(...,3,4);
包含3
select substring('abcdefg',3,4);

Mysql_高阶语句3_第31张图片

15)字符串反转显示

reverse(...)
select reverse('abcdefg');

Mysql_高阶语句3_第32张图片

16)返回字符串3个字符,然后反转输出

reverse(left(...,3));
select reverse(left('abcdefg',3));

Mysql_高阶语句3_第33张图片

17)先将字符串反转,再输出前3个字符

 left(reverse(...,),3);
select left(reverse('abcdefg'),3);

Mysql_高阶语句3_第34张图片

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

Mysql_高阶语句3_第35张图片

返回当前时间

select curtime();

Mysql_高阶语句3_第36张图片

返回当前完整时间

select now();

Mysql_高阶语句3_第37张图片

返回时间年、月、周

select week('2021-4-21');
select year('2021-4-21');
select month('2021-4-21');

Mysql_高阶语句3_第38张图片

返回当前时间的小时

select hour(curtime());

Mysql_高阶语句3_第39张图片

返回当前时间分钟

 select minute(curtime());

Mysql_高阶语句3_第40张图片

返回当前时间的秒

select second(curtime());

Mysql_高阶语句3_第41张图片

返回当前是星期几

select dayofweek(curtime());

Mysql_高阶语句3_第42张图片

当前日期是本年的第几天

select dayofyear(curtime());

Mysql_高阶语句3_第43张图片

你可能感兴趣的:(mysql)