MYSQL常用函数

 SQL中包含七种类型的函数:聚合函数、转换函数、日期函数、数字函数、字符串函数、系统函数、文本和图像函数。此处只介绍最常用的四类。

数字函数:执行算术运算(对数字执行代数运算)

-- 绝对值函数 ABS()  返回数值表达式的绝对值
-- 向上取整函数 CEILING()  返回大于或等于数值表达式的最小值
-- 向下取整函数 FLOOR()  返回小于或等于数值表达式的最大整数
-- 四舍五入 ROUND()   随机返回的到之间的近似浮点值,可以对seed指定为整数表达式
#求--绝对值函数 ABS() 

SELECT ABS(-3);

#向上取整函数CEILING() 

SELECT CEILING(2.3),CEILING(2.5),CEILING(2.8); 
SELECT CEILING(-2.3),CEILING(-2.5),CEILING(-2.8);
#向下取整函数 FLOOR() 

SELECT FLOOR(2.3),FLOOR(2.5),FLOOR(2.8); 
SELECT FLOOR(-2.3),FLOOR(-2.5),FLOOR(-2.8);

#四舍五入 ROUND()
SELECT ROUND(2.3),ROUND(2.5),ROUND(2.8);


SELECT ROUND(2.333,2),ROUND(2.555,2),ROUND(2.888,2); 
SELECT ROUND(2.333,0),ROUND(2.555,0),ROUND(2.888,0); 
SELECT ROUND(222.333,-2),ROUND(2.555,-2),ROUND(2.888,-2);

字符串函数:对字符串、二进制数据或表达式执行操作(可用于binary和varbinary数据类型列,但主要用于char和varchar数据类型)

--拼接字符串 CONCAT() 

SELECT CONCAT('I',' LOVE ','SQL'); 

--转换为大写字母 UPPER() 
--转换为小写字母 LOWER() 
#大小写转换 

SELECT LOWER('I Love SQL'); 
SELECT UPPER('I Love SQL');

--替换 REPLACE(str,'str_par','new_str')str表示原字符串,str_par表示需要被替换的部 分 new_str 表示替换后的内容 

SELECT REPLACE('I Love SQL','SQL','Java');

--截取字符串 SUBSTRING(str,n,m)str表示被截取的字符串 n 表示从第几个开始 m表示截取 的长度
SELECT SUBSTRING('I LOVE SQL',3,4); 

--反转 reverse(str) str表示需要反转的字符串 

SELECT REVERSE('I Love SQL');

时间和日期函数 :处理日期和时间(由于不能直接执行算术函数,所以日期函数很重要)

#当前日期 CURRENT_DATE() 

SELECT CURRENT_DATE(); 
SELECT CURRENT_TIME() 

#获取当前日期时间 NOW() 

SELECT NOW(); 

#获取本地日期 LOCALTIME() 

SELECT LOCALTIME(); 

#获取日期的某一部分 YEAR(NOW()) 

SELECT YEAR(NOW()) as '年', MONTH(NOW()) as '月' , DAY(NOW()) as '日'; SELECT HOUR(NOW()) as '时', MINUTE(NOW()) as '分' , SECOND(NOW()) as '秒';

聚合函数及分类函数:返回汇总值(对其应用的每行集返回一个值)

--计数函数 COUNT() !!!!!!!! 

#查询成绩表中一共有多少数据 
SELECT count(*) FROM result; 
SELECT count(StudentNo) FROM result; 
SELECT count(1) FROM result; 

#求和 求平均值 
#统计每个学生他的各科成绩之和 --group by 
SELECT StudentNo '学号', SUM(StudentResult) '总分' From result GROUP BY 
StudentNo; 

#统计每个学生的各科平均分 
SELECT StudentNo '学号',SUM(StudentResult) '总分', AVG(StudentResult) '平均分' From result GROUP BY StudentNo; 

#筛选 HAVING 对已经查询出的结果做出筛选 
SELECT StudentNo '学号',SUM(StudentResult) '总分', AVG(StudentResult) '平均分' 
From result 
GROUP BY StudentNo 
HAVING `平均分` > 80 
ORDER BY `平均分` DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值