聚合函数 统计和分析 数据 使用场景:会和分组结合使用 -- 一旦启用分组,只能获取组的信息,组中成员不能出现在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;