聚合函数
统计和分析 数据
使用场景:会和分组结合使用
-- 一旦启用分组,只能获取组的信息,组中成员不能出现在select后
count() 查询某个字段的行数
max()查询某个字段的最大值
min()查询某个字段的最小值
sum()查询某个字段的和
avg()查询某个字段的平均值
常用的字符函数
-- concat(str1,str2...strN) 连接字符串 SELECT CONCAT('h','el','lo') FROM DUAL; -- insert(str,begin,length,newStr) 替换字符串 -- str初始的字符串 begin 开始的位置 从1开始 -- length 替换长度 newStr替换的字符串 SELECT INSERT('hello',2,3,'55555') FROM DUAL; -- subString(str,begin,length) 截取字符串 SELECT SUBSTRING('hello',2,3) FROM DUAL; -- lower(str)转换成小写 -- upper(str)转换成大写 -- 常用的日期和时间函数 -- 获取 年月日 SELECT CURDATE() FROM DUAL; -- 获取 时分秒 SELECT CURTIME() FROM DUAL; -- 获取 年月日 时分秒 SELECT NOW() FROM DUAL; -- 获取年份 SELECT YEAR(NOW()) FROM DUAL; SELECT YEAR(CURDATE()) FROM DUAL; -- 获取小时 SELECT HOUR(NOW()) FROM DUAL; SELECT HOUR(CURTIME()) FROM DUAL; -- 获取分钟 SELECT MINUTE(NOW()) FROM DUAL; SELECT MINUTE(CURTIME()) FROM DUAL; -- 获取当前日期是本年的第几周 SELECT WEEK(NOW()) FROM DUAL; -- 获取两个日期之间的天数 SELECT DATEDIFF(NOW(),'2015-06-01') FROM DUAL; -- 获取给定日期之后的日期 SELECT ADDDATE(NOW(),30) FROM DUAL; -- 获取给定日期之后n个月之后的日期 SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH); -- 天花板函数(上取整) SELECT CEIL(3.0) FROM DUAL; SELECT CEIL(3.1) FROM DUAL; -- 地板函数(下取整) SELECT FLOOR(3.9) FROM DUAL; -- 返回0-1之间的随机数 SELECT RAND() FROM DUAL; -- trunc()函数 --trunc返回处理后的数值,其工作机制与round()函数极为类似,只是该函数不对指定小数前或后的部分做相应的舍入选择处理,而统统截取. -- 四舍五入 SELECT ROUND(2.4) FROM DUAL; --传回一个数值,该数值是按照指定的小数位元数据进行四舍五入运算的结果。
1、round(x,d) ,x指要处理的数,d是指保留几位小数
这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;
2、round(x) ,其实就是round(x,0),也就是默认d为0;