Mysql常用函数
常用函数
-- 数学运算
SELECT ABS(-8) -- 取绝对值
SELECT CEILING(9.4) -- 向上取整
SELECT FLOOR(9.4) -- 向下取整
SELECT RAND() -- 返回一个0-1之间的随机数
SELECT SIGN(10) -- 负数返回-1,正数返回1
-- 字符串函数
SELECT CHAR_LENGTH('delicious')
SELECT CONCAT('I', 'love', 'you') -- 拼接字符串
SELECT INSERT('我爱编程helloworld',1,2,'超级热爱')
SELECT LOWER('Java')
SELECT UPPER('Java')
SELECT INSTR('Java', 'a') -- 返回第一次出现子串的位置
SELECT REPLACE('好好工作,我就能过上好的生活', '我', '老板') -- 替换出现的指定字符串
SELECT SUBSTR('好好工作,我就能过上好的生活',4,6) -- 4位置开始,截取6个字符
SELECT REVERSE('好好工作,我就能过上好的生活')
-- 时间和日期函数
SELECT CURRENT_DATE() -- 获取当前日期,精确到日
SELECT CURDATE() -- 获取当前的时间,精确到日
SELECT NOW() -- 获取当前的时间,精确到秒
SELECT LOCALTIME() -- 本地时间
SELECT SYSDATE() -- 系统时间
SELECT YEAR(NOW()) -- 年
SELECT MONTH(NOW()) -- 月
SELECT DAY(NOW()) -- 天
SELECT HOUR(NOW()) -- 时
SELECT MINUTE(NOW()) -- 分
SELECT SECOND(NOW()) -- 秒
-- 系统
SELECT SYSTEM_USER()
SELECT USER()
SELECT VERSION()
聚合函数
常用的聚合函数如下:
函数名称 | 描述 |
---|---|
count() | 计数 |
sum() | 求和 |
avg() | 平均值 |
max() | 最大值 |
min() | 最小值 |
-- ===================聚合函数==================
-- 都能够统计表中的数据
SELECT COUNT(studentname) FROM student -- 会忽略所有的null值
SELECT COUNT(*) FROM student -- 不会忽略null值
SELECT COUNT(1) FROM result -- 不会忽略null值
SELECT SUM(`studentresult`) AS 总和 FROM result
SELECT AVG(`studentresult`) AS 平均分 FROM result
-- 查询不同课程的平均分,最高分,最低分
-- 根据不同的课程分组
SELECT subjectName, AVG(studentResult), MAX(studentResult),MIN(studentResult)
FROM result r
INNER JOIN SUBJECT sub
ON r.`subjectno` = sub.`subjectno`
GROUP BY r.subjectNo
HAVING AVG(studentResult) > 80 -- 分组后的过滤