聚合函数
聚合函数可以对多行数据进行统计。聚合函数使用需要注意以下点:
- WHERE 关键字后不能跟聚合函数,因为WHERE 关键字执行顺序大于聚合函数。
- HAVING 关键字后可以使用聚合函数,用于过滤不符合条件的数据。
SUM(字段名)
描述:
对数值求和。
实例:
SELECT SUM(goods_id) FROM goods;
AVG(字段名)
描述:
对数值求平均值。
实例:
SELECT AVG(goods_id) FROM goods;
MAX(字段名)
描述:
对数值求最大值。
实例:
SELECT MAX(goods_id) FROM goods;
MIN(字段名)
描述:
对数值求最小值。
实例:
SELECT MIN(goods_id) FROM goods;
COUNT(字段名)
描述:
统计数量。
实例:
SELECT COUNT(goods_id) FROM goods;
日期相关函数
NOW()
描述:
获取当前日期与时间。
实例:
SELECT NOW();
CURDATE()
描述:
获取当前的日期。
实例:
SELECT CURDATE();
CURTIME()
描述:
获取当前的时间。
实例:
SELECT CURTIME();
DATE(日期)
描述:
在年月日时分秒中提取年月日。
实例:
SELECT DATE(NOW());
TIME(日期)
描述:
在年月日时分秒中提取时分秒。
实例:
SELECT TIME(NOW());
EXTRACT(日期中要提取的时间单位)
描述:
提取指定的时间单位。YEAR 代表年、MONTH 代表月、DAY 代表日、HOUR 代表小时、MINUTE 代表分钟、SECOND 代表秒。
实例:
DATE_FORMAT(日期,时间格式)
描述:
日期格式化函数。%Y 代表四位年、%y 代表两位年、%m 代表两位月(格式为01……12)、%c 代表一位月(格式为1……12)、%d 代表日、%H 代表小时(24小时制)、%h代表小时(12小时制)、%i 代表分钟、%s 代表秒。
实例:
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日%H时%i分%s秒');
字符串函数
CONCAT(字符串或字段名,'拼接的内容')
描述:
对字符串进行拼接。
实例:
SELECT CONCAT(goods_name,'拼接的字符串') FROM goods;
CHAR_LENGTH(字符串或字段名)
描述:
获取字符串长度。
实例:
INSTR(字符串或字段名,'被查询的字符串')
描述:
获取字符串在另一字符串中出现的位置。
实例:
SELECT goods_name,INSTR(goods_name,'利') FROM goods;
INSERT(字符串或字段名,插入位置,替换长度,'插入内容')
描述:
插入字符串,插入位置从1开始。
实例:
SELECT goods_name,INSERT(goods_name,3,0,'纯') FROM goods WHERE goods_id = 1;
UPPER(字符串或字段名);
描述:
字符串转换为大写。
实例:
SELECT UPPER('yyyy');
LOWER(字符串或字段名)
描述:
字符串转换为小写。
实例:
SELECT LOWER('YYYY');
LEFT(字符串或字段名,截取长度)
描述:
从字符串左侧开始截取指定长度的字符串。
实例:
SELECT goods_name,LEFT(goods_name,2) FROM goods;
RIGHT(字符串或字段名,截取长度)
描述:
从字符串右侧开始截取指定长度的字符串。
实例:
SELECT RIGHT('右侧开始截取',3);
TRIM(字符串或字段名)
描述:
去除字符串两端空格。
实例:
SELECT TRIM(' 两端有空 格的字符串 ')
SUBSTRING(字符串或字段名,截取开始位置,截取长度)
描述:
在指定位置开始,截取指定长度的字符串。若无第三参数则截取到末尾。
实例:
SELECT goods_name,SUBSTRING(goods_name,1,1) FROM goods;
REPEAT(字符串或字段名,重复次数);
描述:
重复指定的字符串。
实例:
SELECT REPEAT('重复字符串',3);
REPLACE(字符串或字段名,'被替换内容','替换内容')
描述:
替换字符串中指定的内容。
实例:
SELECT goods_name,REPLACE(goods_name,'伊利','完达山')FROM goods WHERE goods_id = 1;
REVERSE(字符串或字段名)
描述:
将字符串内容反转。
实例:
SELECT goods_name,REVERSE(goods_name)FROM goods WHERE goods_id = 1;
数学相关函数
FLOOR(数值或字段名)
描述:
对数值向下取整。
实例:
SELECT FLOOR(3.89);
ROUND(数值或字段名)
描述:
对数值四舍五入取整。
实例:
SELECT ROUND(23.66);
TRUNCATE(数值或字段名,要保留的小数位数)
描述:
保留指定的小数位,不做四舍五入,多余的小数位直接舍去,不足则进行补0。
实例:
SELECT TRUNCATE(23.896,2);
RAND()
描述:
返回 0 <= V <1.0 之间的双精度浮点数。
实例:返回8 到 10 之间的随机数