MySQL常见函数基础学习
使用函数的好处:
1.隐藏了实现的细节
2.提高代码的重用性
字符函数
- Length()
用来统计长度
可以是字段:
image.png
-
Concat()
拼接字符串
image.png
如果CONCAT拼接的是字段,那么字段之中只要有NULL,结果就为NULL
-
Upper()、Lower()
Upper:变大写
image.png
image.png
Lower:变小写
image.png
可以一起使用:
image.png
- Substr()、Substring()
MySQL的索引下标是从1开始
截取从指定索引处后面的所有字符:
image.png
截取从指定索引处指代字符长度的字符:
image.png
-
Instr()
返回子串第一次出现的索引,如果找不到,返回0
image.png
image.png
返回的是起始索引
-
Trim()
去前后,默认去除前后空格,可以指定去除
image.png
中间有一个FROM:
image.png -
Lpad()
用指定的字符实现左填充至指定长度
image.png -
Rpad()
用指定的字符实现右填充至指定长度
image.png
-
Replace()
替换
image.png
数学函数
-
ROUND()
四舍五入
image.png -
CEIL()
向上取整,返回大于等于该参数的最小整数
image.png
image.png -
FLOOR()
向下取整,返回小于等于该参数的最大整数
image.png
image.png -
TRUNCATE()
截断指定小数点后几位
image.png
- MOD()
取余
image.png
被除数如果为负,则结果为负
image.png
MOD(a,b)相当于:a-a/b*b
日期函数
-
NOW()
返回当前的系统时间+日期
image.png -
CURDATE()
返回当前系统日期,不包含时间
image.png -
CURTIME()
返回当前系统时间,不包含日期
image.png -
YEAR()
获取指定的年的部分
image.png -
MONTH()
获取指定的月的部分
image.png -
MONTHNAME()
获取指定的月的部分的英语月份
image.png
补充格式符
格式符 | 含义 |
---|---|
%Y | 四位的年份(1997) |
%y | 两位的年份(97) |
%m | 月份(03) |
%c | 月份(3) |
%d | 日(05) |
%H | 小时(24小时制) |
%h | 小时(12小时制) |
%i | 分钟(00) |
%s | 秒(00) |
-
STR_TO_DATE()
将日期格式的字符转换成指定格式的日期
image.png -
DATE_FORMAT()
将日期转换成字符
image.png
控制流函数
-
IF
或是IF ELSE,ELSE可以省略
image.png
含义:如果100>50的结果值是对的,显示larger,否则显示smaller
- CASE
格式:
CASE 要判断的字段或表达式
WHEN 常量1 或 要显示的语句1;(如果是语句,要写分号)
WHEN 常量2 或 要显示的语句2;(如果是语句,要写分号)
。。。
ELSE 要显示的值n 或 语句n;
END
分组函数
以下分组函数都忽略Null值,且可以与DISTINCT搭配使用,比如平均AVG()函数,表中如果有五行,三行为空,那么计算出来的值是除以2而不是除以5的
-
SUM()
求和,一般用于处理数值型
image.png
-
AVG()
计算平均值,一般用于处理数值型
image.png -
MAX()、MIN()
求最大值,最小值
image.png
image.png -
COUNT()
image.png
COUNT()函数是用来计数的
一般使用COUNT() 来计数,相当于在查询的表中加了一列,在计数*的数量
image.png
其他函数
-
VERSION()
查看当前MySQL的版本
image.png -
DATABASE()
查看当前的数据库
image.png -
USER()
查看当前的用户
image.png
其他:
可以用SHOW VARIABLES LIKE "%char%"
命令,查看MySQL字符集