1.使用数据处理函数
1.1函数
## 概述
SQL支持利用函数来处理数据,函数一般是在数据上执行的,它给数据的转换和处理提供了方便。
1.2使用函数
## SQL支持函数的不同类型
1.用于处理文本串的文本函数(如: 删除值,填充值,转换大小写)
2.用于数值数据在算术上操作的数值函数
3.用于处理日期和时间值的时间函数
4.返回DBMS正使用的特殊信息的系统函数(如:用户登录信息等)
1.2.1 文本处理函数
## 常用的文本处理函数
函数 说明
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 返回串右边的字符
RTrim() 去掉串右边的空格
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符
Upper() 将串转换为大写
## Soundex函数是对串的发音去进行比较的,它会将任何字符串转换为其语音表示的字母数字模式算法。
1.2.2日期和时间处理函数
## MySQl中不能用来存储日期和时间的格式,因此日期和时间函数总是用来读取,统计,处理这些值。
## 常用日期和时间处理函数
函数 说明
Date() 返回日期时间的日期部分
AddDate() 增加一个日期
AddTime() 增加一个时间
CurDate() 返回当前日期
CurTime() 返回当前时间
DateDiff() 计算两个日期之差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个日期的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间秒的部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
## Date_Format函数
将日期格式化为yyyy.MM.dd
select DATE_FORMAT(b_time,'%Y.%m.%d') from bookmanage
## Date 函数
MySQL查询出来的dateTime后会加00:00:00,如果想要某种需求,就可以用Date() 函数把日期时间格式转为日期
1.2.3数值处理函数
## 数值处理函数仅处理数值数据
## 常用数值处理函数
函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
....
2.汇总数据
2.1聚集函数
## 概述
聚集函数用于汇总数据,运行在行组上,计算和返回单个值的函数。
## AVG()函数:返回某列的平均值
计算所有花的平均价格
SELECT AVG(price) FROM flower
## COUNT()函数:返回某列的行数
1.汇总表中的总行数:会统计列值为NULL的行
SELECT COUNT(*) FROM flower
2.根据列汇总行数
SELECT COUNT(name) FROM flower
## MAX()函数:返回某列的最大值
计算花的最高价格
SELECT MAX(price) FROM flower
## MIN()函数:返回某列的最小值
计算花的最低价格
SELECT MIN(price) FROM flower
## SUM()函数
计算所有花的总价格
SELECT SUM(price) FROM flower
## AVG,COUNT(列名),MAX,MIN,SUM 函数忽略列值为NULL的行
2.2组合聚集函数
## SELECT语句可根据需要包含多个聚集函数,以下为例:
SELECT COUNT(*) AS num_items,
MIN(price) AS price_min,
MAX(price) AS price_max,
AVG(price)AS price_avg
FROM flower;
输出:
+-----------+-----------+-----------+-----------+
| num_items | price_min | price_max | price_avg |
+-----------+-----------+-----------+-----------+
| 4 | 2.5 | 5 | 3.5 |
+-----------+-----------+-----------+-----------+