1.AVG(column) 返回某列的平均值
经过测试发现 如果计算平均值的字段如果某行的值为null,在求平均值的时候是不会将该行算在里面的.. 取得的平均值会保留四位小数49.7500
2.COUNT(column) 返回备选行数
count(*) 和count(1) 返回的是总行数.count(具体字段),当该字段值为nul则不计算垓行
3.MAX() 返回一列中的最大值
4.min() 返回一列中的最小值(null 值不包括在计算中)
5.sum().函数返回数值列的总数
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
UCASE() 函数
UCASE 函数把字段的值转换为大写。
LCASE() 函数
LCASE 函数把字段的值转换为小写。
MID() 函数
MID 函数用于从文本字段中提取字符。
SELECT MID(column_name,start[,length]) FROM table_name
column_name | 必需。要提取字符的字段。 |
start | 必需。规定开始位置(起始值是 1)。 |
length | 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。 |
例子: SELECT MID(City,1,3) as SmallCity FROM Persons
length() 函数
LENGTH 函数返回文本字段中值的长度。
当文本为空的时候值为0, 当文本为NULL的时候值为NULL.
当文本是汉字的时候那么一个汉字的长度的3
注意了:以下结论是在mysql8中测试得到的.:当表中一个字段是varchar 长度为5,那么该字段
可以存 5个英文字母或者5个数字,或者五个汉字.
感兴趣的可以自己测试下,莫要人云亦云.
ROUND() 函数
ROUND 函数用于把数值字段舍入为指定的小数位数。
SELECT ROUND(column_name,decimals) FROM table_name
例如 select name,round(age,1) As ages from sys_user
但是以mysql8数据库测试, 当age类型是double 那么就会出现一个问题 如
例如 select name,round(age,1) As ages from sys_user 当age = 125.25
预计是 得到125.3,但是实际上得到的值为125.2,
根舍弃位的前一位是偶数,后面没有值,舍弃位即使为5也不进位.
(后无值,奇进偶不进)
因此,对数据精度要求比较高的话,
1.将double 类型换成 decimal(7,2)类型
2.select convert(age,decimal(10,1)) from sys_user;