Mysql常用函数

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 -- 分组后的过滤

posted @ 2020-11-04 11:34  提笔书几行  阅读(84)  评论(0编辑  收藏  举报