MYSQL初级学习笔记八:MySQL中常用的函数!(视频序号:初级_45-50)

时间:2023-03-09 15:05:54
MYSQL初级学习笔记八:MySQL中常用的函数!(视频序号:初级_45-50)

知识点十:MySQL中的函数(45-50)

数学函数:

名称

描述

CEIL()

进一取整

FLOOR()

舍一取整

MOD

取余数(取摸)

POWER()

幂运算

ROUND()

四舍五入

TRUNCATE()

数字截取

ABS()

取绝对值

PI()

圆周率

RAND() 和RAND(X)

返回0~1之间随机数,RAND(X)X相同时返回的随机数相同

SIGN(X)

返回X的符号,X为负数·0·正数分别返回-1·0·1

EXP(X)

计算e的X次方

 

字符串函数:

函数名称

描述

CHAR_LENGTH(S)

返回字符串的字符数

LENGTH

返回字符串的长度

CONCAT(S1,S2,…)

将字符串合并为一个字符串

CONCAT_WS(X,S1,S2,…)

以指定分割符连接字符串

UPPER(S)/UCASE(S)

将字符串转换为大写

LOWER(S)/LCASE(S)

将字符串转换为小写

LEFT(S,N)/RIGHT(S,N)

返回字符串的前/后n个字符

LPAD(S1,LEN,S2)/RPAD(S1,LEN,S2)

将字符串S1用S2填充到指定的LEN

LTRIM(S)/RTRIM(S)/TRIM(S)

去掉字符串中的空格

TRIM(S1 FROM S2)

去掉字符串s中开始处和结尾处的字符S1

REPEAT(S,N)

重复字符串指定次数

SPACE(N)

返回N个空格

REPLACE(S,S1,S2)

将字符串S中搜索S1,替换成S2

STRCMP(S1,S2)

比较字符串,>=<分别返回1,0,-1

SUBSTRING(S,N,LEN)

截取字符串

REVERSE(S)

反转字符串

ELT(N,S1,S2,…)

返回指定位置的字符串

 SELECT CONCAT('_',TRIM(' ABC '),'_'),CONCAT('_',LTRIM(' ABC '),'_'),CONCAT('_',RTRIM(' ABC '),'_');

字符串函数测试

日期时间函数:

名称

名称

CURDATE(),CURRENT_DATE()

返回当前日期

CURTIME(),CURRENT_TIME()

返回当前时间

NOW()

返回当前的时间日期

MONTH(D)

返回日期中的月份值

MONTHNAME(D)

返回日期中月份名称,返回January

DAYNAME(D)

返回日期是几,Monday

DAYOFWEEK(D)

返回一周内的第几天,1代表星期日

WEEKDAY(D)

返回日期是星期几,0代表星期一

WEEK(D)

一年中的第几个星期

名称

名称

YEAR(D)

返回年份值

HOUR(T)

返回小时值

MINUTE(T)

返回分钟值

SECOND(T)

返回秒数值

DATEDIFF(D1,D2)

计算两个日期之间相隔的天数

条件判断函数:

名称

名称

IF(EXPR,V1,V2)

如果表达式EXPR成立,返回结果V1;否则V2

IFNULL(V1,V2)

如果V1的不能为空,就显示V1的值,否则V2

CASE WHEN exp1 THEN v1 [WHEN exp2 THEN v2] [ELSE vn] END

CASE表示函数开始,END表示函数结束。如果表达式exp1成立时,返回v1,如果表达式exp2成立时,返回v2的值。以此内推,最后遇到ELSE时,返回vn的值。

 SELECT id,username,score,IF(score>60,'及格','不及格') FROM student;
SELECT id,username,age,IFNULL(age,'') FROM cms_user; SELECT id,username,score, CASE WHEN score>60 THEN '不错' WHEN score=60 THEN '刚及格' ELSE '没及格' END FROM student; INSERT student(username,score) VALUES('AAAA',12);

条件判断函数测试

系统函数:

名称

名称

VERSION()

返回数据库的版本号

CONNECTION_ID()

返回服务器的连接数

DATABASE(),SCHEMA()

返回当前数据库名称

USER(),SYSTEM_USER()

返回当前用户

CURRENT_USER(),CURRENT_USER

返回当前用户

CHARSET(STR)

返回字符串STR的字符集

COLLATION(STR)

返回字符串STR的校验字符集

LAST_INSERT_ID()

返回最近生成的AUTO_INCREMENT值

加密函数:

名称

名称

MD5(str)

信息摘要加密

PASSWORD(str)

加密算法

ENCODE(str,pwd,str)

加密结果是一二进制数,必须使用BLOB类型字段保存

DECODE(crypt_str,pwd_str)

对通过ENCODE加密之后的内容解密

其他常用的函数:

名称

描述

FORMAT(x,n)

将数字x进行格式化,将x保留到小数点后n位

ASCII(s)

返回字符串s的第一个字符的ASCII码

BIN(x)

返回x的二进制编码

HEX(x)

返回x的十六进制编码

OCT(x)

返回x的八进制编码

CONV(x,f1,f2)

将x从f1进制数变成f2进制数

INET_ATON(ip)

将ip地址转换成数字

INET_NTOA(n)

将数字转换成ip地址

GET_LOCT(name,time)

定义锁

RELEASE_LOCK(name)

解锁

IS_FREE_LOCK(name)

查看锁的状态(0代表使用)