第五章《函数》

一、数学函数:
(1)绝对函数:ABS(x)
ABS(x)用于返回x的绝对值;
在这里插入图片描述
(2)返回圆周率的函数:PI()
PI() 返回圆周率
在这里插入图片描述
(3)平方根函数:SQRT(x)
SQRT(x)返回非负数x的二次方根;

(4)求余函数:MOD(x,y)
返回x被y除后的余数,MOD(x,y)对于带有小数部分的值也起作用,它返回除法运算后的精确运算。
在这里插入图片描述
(5)获取整数的函数:CEIL(X)、CEILING(X)、FLOOR(X)
CEIL(X)和CEILING(X)用来返回不小于x的最小整数;FLOOR(x)返回不大于x的最大整数;
在这里插入图片描述
(6)获取随机数的函数:RAND(),RAND(X)
RAND()用于返回一个在0和1之间随机浮点数; RAND(x)用来返回相同的0~1之间的浮点数
在这里插入图片描述
(7)四舍五入的函数:ROUND(X),ROUND(X,Y);
ROUND(X)用于对x进行四舍五入,不保留小数位;ROUND(x,y)用于对x进行四舍五入,但是保留y位小数;
(8)截取数值的函数,TRUNCATE(X,Y)
用于对x进行截取,保留y位小数(它不进行四舍五入);
在这里插入图片描述
(9)获取数值的符号的函数:SIGN(x)
当x位负数时,返回-1,当x为正数,返回1,当x为0,返回0;
在这里插入图片描述
(10)幂运算函数:POW(x,y)、POWER(x,y)、EXP(x)
POW(x,y),POWER(X,Y)用于返回x的y次方结果;
EXP(X)用于返回自然对数的底e的x次方的结果;(e= 2.718281828459。。。)
在这里插入图片描述
(11)对数函数:LOG(x)、LOG10(X)
在这里插入图片描述
在这里插入图片描述
(12)角度与弧度相互转换的函数:RADIANS(X)、DEGREES(X)
RADIANS(X)用于将参数x由角度转换为弧度,DEGREES(X)用于将参数x的弧度转换为角度
在这里插入图片描述
在这里插入图片描述
(13)正弦函数和反正弦函数:SIN(X),ASIN(X)
SIN(X)用于返回x的正弦值,其中x为弧度值;ASIN(x)用于返回x的反正弦,即正弦为x的值;
(14)余弦函数和反余弦:COS(X)、ACON(X)
(15) 正切函数和反正切、余切:TAN(X)、ATAN(X)、COT(X);

二、字符串函数:
(1)计算字符串长度的函数:CHAR_LENGTH(str)、LENGTH(str)
CHAR_LENGTH(str)用于统计str的字符个数(不区分中英文,中文按一个字符算);
LENGTH(str)用于统计str的字节长度,使用utf-8编码字符集时,一个汉字是3个字节,一个数字或者英文字母占1字节;
在这里插入图片描述
(2)合并字符串的函数:CONCAT(s1,s2.。。。)、CONCAT_WS(x,s1,s2.。。。)
CONCAT(s1,s2.。。。)用于将括号里的字符串合并成一个
CONCAT_WS(x,s1,s2.。。。)以x作为连接符号,将里面s1、s2等字符串连接起来;
在这里插入图片描述
(3)替换字符串的函数:INSERT(s1,x,len,s2)
(1)INSERT(s1,x,len,s2)用于返回字符串s1从x位置被字符串s2替换len个字符
(2)如果x超过字符串s1的长度,则返回s1;
(3)如果任何一个参数为NULL,则返回值为NULL;
在这里插入图片描述
(4)转换大小写函数:
LOWER(STR)、LCASE(str)将str里面的大写转化为小写字母;
UPPER(str),UCASE(str)将str里面的小写字母转换成大写;
在这里插入图片描述
(5)获取指定长度的字符串的函数:LEFT(s,n)、RIGHT(s,n)
LEFT(s,n)用于返回字符串s的最左边的n个字符
RIGHT(s,n)用于返回字符串s的最右边的n个字符
在这里插入图片描述
(6)填充字符串的函数;LPAD(s1,len,s2)、RPAD(s1,len,s2)
LPAD(s1,len,s2)用于返回s1字符串的左边用s2填充到len字符长度
RPAD(s1,len,s2)用于返回s1字符串的最右边用s2填充到len字符长度
在这里插入图片描述
(7)删除空格的函数 :LTRIM(s) 、 RTRIM(s)、TRIM(s)
LTRIM(s)用于删除字符串s左侧的空格,RTRIM(s)删除s右侧的空格,TRIM(s)删除s两侧的空格
在这里插入图片描述
(8)删除指定字符的函数:TRIM(s1 FROM s)
TRIM(s1 FROM s)用于删除字符串s中两端所有的字符换s1,如果没有指定s1,则默认删除字符串s两侧的空格;
在这里插入图片描述
(9)重复生成字符串的函数,REPEAT(s,n)
用于重复生成字符串s n次
在这里插入图片描述
(10)空格函数 : SPACE(n)
用于返回n个空格
在这里插入图片描述
(11)替换函数:REPLACE(s,s1,s2)
表示使用字符串s2替换字符串s中的s1
在这里插入图片描述
(12)比较字符串大小的函数 STRCMP(s1,s2)
用于比较s1和s2的大小,若所有字符串相同则返回0,若s1小于s2则返回-1,若s1大于s2返回1;
a–z z最大 a最小
在这里插入图片描述
(13)获取字符串的函数,SUBSTRING(s,n,len)、MID(s,n,len)
SUBSTRING(s,n,len)和MID(s,n,len)用于获取指定位置的字符串

在这里插入图片描述

(14)匹配字符串开始位置的函数,LOCATE(str1,str)、POSITION(str1 in str)、INSTR(str,str1);
LOCATE(str1,str)用于返回字符串str1在字符串str中的开始位置
在这里插入图片描述
POSITION(str1 in str)用于返回字符串str1在字符串str中的开始位置
在这里插入图片描述

INSTR(str,str1);用于返回字符串str1在字符串str中的开始位置
在这里插入图片描述
(15)反转字符串的函数:REVERSE(s)
用于将字符串S字符顺序反转:
在这里插入图片描述
(16)返回指定位置的字符串的函数:ELT(n,s1,s2,s3,。。。)
用于返回第n个字符串,如果n超出范围则返回NULL,
在这里插入图片描述
(17)返回指定字符串位置的函数: FIELD(s,s1,s2,s3.。。。)
用于返回字符串s在列表s1,s2,s3.。。中的位置,如果不存在字符串s,则返回0,如果字符串s是NULL,也返回0;
在这里插入图片描述
(18)返回字符串位置的函数,FIND_IN_SET(s1,s2)
用于返回字符串s1在字符串s2中的位置(s2代表一个列表)。
在这里插入图片描述
三、日期和时间函数
1.获取当前日期的函数:CURDATE() 、 CURRENT_DATE()
2.获取当前时间的函数:CURTIME()、CURRENT_TIME()
3.获取当前的日期和时间的函数:
CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
4.获取时间戳的函数:UNIX_TIMESTAMP()
在这里插入图片描述
5.转换时间戳的函数:FROM_UNIXTIME()
在这里插入图片描述
6.获取UTC日期的函数: UTC_DATE()
7.获取UTC时间的函数:UTC_TIME()
8.获取月份的函数:MONTH(date)、MONTHNAME(date)
MONTH(date)返回date对应的月份(用数字表示)
MONTHNAME(date)返回date对应的月份(用英文表示)
在这里插入图片描述
9.获取星期的函数;DAYNAME(date)、DAYOFWEEK(date)、WEEKDAY(date)、WEEK(date)、WEEKOFYEAR(date)
(1)DAYNAME(date)返回date对应的工作日英文名称;
(2)DAYOFWEEK(date)返回date对应的一周中的索引;1表示周日 ,7表示周六;
(3)WEEKDAY(date)返回date对应的工作日索引;0表示周一 1表示周二 6表示周日;
(4)WEEK(date)用于计算date是一年中的第几周,一年有53周;(0~52)
(5)WEEKOFYEAR(date)用于计算date是一年中的第几周,一年有53周;(1~53)

10.获取天数的函数:DAYOFYEAR(date)、DAYOFMONTH(date)
DAYOFYEAR(date)返回date是一年中的第几天;一年有365天
DAYOFMONTH(date)返回date是一个月中的第几天;

11.获取年份的函数:YEAR(date)

12.获取季度的函数:QUARTER(date)

13.获取分钟的函数:MINUTE(time)
在这里插入图片描述
14.获取秒钟的函数:SECOND(time)
15.获取小时的函数:HOUR(time)
16.获取日期的指定值的函数:EXTRACT(type FROM date)
在这里插入图片描述
17.时间和秒钟的转换函数:TIME_TO_SEC(time)、SEC_TO_TIME(time)

18.计算日期和时间的函数:
DATE_ADD()、ADDDATE()、DATE_SUB()、SUBDATE()、DATEDIFF()
(1)DATE_ADD()用于对日期进行加运算,格式:DATE_ADD(date,INTERVAL expr type)
在这里插入图片描述
(2)ADDDATE()同上;
(3)DATE_SUB():用于对日期进行减运算,格式:DATE_SUB(date,INTERVAL expr type)
(4)SUBDATE():同上;
(5)DATEDIFF():用来计算两个日期间隔的天数
在这里插入图片描述
19.将日期和时间格式化的函数:
DATE_FORMAT(date,format):将日期按照规定格式打印
在这里插入图片描述
TIME_FORMAT(date,format) :将时间按照规定格式打印
在这里插入图片描述
GET_FORMAT():这个函数是套在上面两个函数里面来用的,用来显示指定格式的日期和时间
在这里插入图片描述
% 说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
四、条件判断函数:
(1)IF()
IF(expr ,v1,v2)如果表达式为true,则返回v1,否则返回v2;
在这里插入图片描述
(2)IFNULL
IFNULL(v1,v1)如果v1不为NULL,则返回v1,如果v1为NULL,则返回v2
在这里插入图片描述
(3)CASE
语法:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END;
含义:如果expr等于vn,怎返回对应位置THEN后面的结果,如果所有的值都不相等,则返回ELSE后面的值rn
在这里插入图片描述
五、系统信息函数:
(1)获取MySQL版本号的函数:VERSION();
(2)查看当前用户的连接线程的ID函数 :CONNECTION_ID()
# 查看当前用户的连续信息:SHOW PROCESSLIST
(3)查看当前使用的数据库的函数:DATABASE()、SCHEMA()
(4)查看当前登录的用户名的函数:USER()、CURRENT_USER()、SYSTEM_USER();
(5)查看指定字符串的字符集的函数:CHARSET(str)
(6)查看指定字符串的排列方式的函数:COLLATION(str)
(7)获取最有一个自动生成的ID值得函数:LAST_INSERT_ID()
在这里插入图片描述
六、加/解密函数;
(1)加密函数:PASSWORD(str),MD5(str),ENCODE(str,pswd_str)
PASSWORD(str)从明文密码str计算并返回加密后的密码字符串,当str为NULL,返回NULL
MD5(str)为字符串str算出一个MD5 128比特校验和
ENCODE(str,pswd_str)使用pswd_str作为密码加密str;
(2)解密函数:DECODE(crypt_str,pswd_str)使用pswd_str作为密码,解密加密码字符串crpt_str
在这里插入图片描述

七、其他函数:
(1)格式化函数:FORMAT(x,n)
将数字x格式化,并以四舍五入的方式保留小数点后n为小数,结果以字符串形式返回;
在这里插入图片描述
(2)不同进制的数字进行转换的函数:CONV()
CONV()用于不同进制间数字或字符转换
在这里插入图片描述
(3)IP地址与数字相互转换的函数:INET_ATON(expr)、INET_NTOA(expr)
在这里插入图片描述
(4)加锁函数和解锁函数:GET_LOCK(str,timeout)、RELEASE_LOCK(str)
GET_LOCK(str,timeout)使用字符串str来得到一个锁,持续时间timeout秒
1.若成功得到锁,则返回1
2.若操作超时,则返回0
3.若发生错误,则返回NULL
RELEASE_LOCK(str)用于解开被GET_LOCK()加的锁;
1.若锁被解开,则返回1
2.若该线程尚未创建锁,则返回0
3.若命名的锁不存在,则返回NULL
4.若锁从未被GET_LOCK()调用获取,或锁已经被解开,则该锁不存在,返回NULL
(5)重复执行指定操作的函数 :BENCHMARK(count,expr)
重复执行count次expr
1.可以用于计算MySQL处理表达式的速度
2.可以在mysql客户端内部报告语句执行时间
(6)改变字符集的函数:CONVERT(str USING 字符集);
在这里插入图片描述
(7)改变数据类型的函数:CAST(x,AS type)、CONVERT(x,type)
用于将一个数据类型的值转换为另一个数据类型的值;
在这里插入图片描述
在这里插入图片描述

发布了28 篇原创文章 · 获赞 8 · 访问量 3437

猜你喜欢

转载自blog.csdn.net/weixin_46152207/article/details/105063625