数据库常用聚合函数

-- 函数
-- 统计函数
SELECT count(*) as count FROM student
SELECT count(studentNo) as count FROM student
SELECT count(1) as count FROM student

-- 平均分
SELECT avg(studentResult) FROM result
-- 最大值
SELECT max(studentResult) FROM result
-- 最小值
SELECT min(studentResult) FROM result
-- 总和
SELECT sum(studentResult) FROM result



-- 数学函数
 -- 返回 绝对值
SELECT ABS(-1)


-- 返回大于或等于 最小整数
SELECT CEIL(1.5)

-- 返回 小于或等于的最大整数
SELECT FLOOR(1.5)

-- 返回 0 ~ 1 之间的随机数
SELECT RAND()

-- SIGN(X) 返回x的符号  x是负数 0  正数 分别返回 -1 、0、 1
SELECT SIGN(10)
-- 圆周率
SELECT PI()
-- 返回X保留小数点后 D位
SELECT TRUNCATE(1.23456,4)
-- 返回x的D次方
SELECT POW(2,3)
-- 返回平方根
SELECT SQRT(25)
-- 返回x次方
SELECT EXP(3)

-- 返回 返回 5 与 2 相除后的余数
SELECT MOD(5,2)

-- 角度转换为弧度
SELECT RADIANS(180)
-- 弧度转换为角度
SELECT DEGREES(3.14159265358979)
-- 正弦值 
SELECT SIN(RADIANS(30))

-- 字符串函数

-- 返回字数
-- 返回值字符串的字符数
SELECT CHAR_LENGTH('HELLO 123')
SELECT LENGTH('HELLO 123')
-- 字符串合并
SELECT CONCAT('12','34')

-- 合并时加 每个字符加'@'
SELECT CONCAT_WS('@','12','34')

-- 字符串 替换   ('12345',开始位置,结束位置,'替换的数据')
SELECT INSERT('12345',1,3,'abc')
-- 将字母转换为大写
SELECT UPPER('abc')
-- 将字母转换为小写
SELECT LOWER('ABC')
-- 返回前x位
SELECT LEFT('abcde',3)
-- 返回后x位
SELECT RIGHT('abcde',3)

-- 去除开始空格
SELECT LTRIM('   12  3   ')
-- 去除结尾空格
SELECT RTRIM('   12  3   ')
-- 去除前后空格
SELECT TRIM('   12  3   ')

-- 将字符串 重复x次
SELECT REPEAT('ab',4)

-- 替换 ('abc','要替换的值','替换值')
SELECT REPLACE('abc','a','x')
-- 比较两个字符串
SELECT STRCMP('123','123')
-- 获取a的位置
SELECT INSTR('abc','a')
-- 反转字符串
SELECT REVERSE('abc')
-- 返回第 n个字符串
SELECT ELT(3,'a','b','c','d')

-- 时间函数
-- 获取当前日期
SELECT CURDATE()
-- 获取当前时间
SELECT CURTIME()
-- 获取当前日期时间
SELECT NOW()
 -- 获取 UNIX时间戳
SELECT UNIX_TIMESTAMP()
-- 獲取時間戳
SELECT UNIX_TIMESTAMP('2020-08-03 11:11:11')
-- 将时间戳转换为 普通格式
SELECT FROM_UNIXTIME(1596424271)
 -- 返回UTC 日期
SELECT UTC_DATE()
 -- 返回UTC 时间
SELECT UTC_TIME()

-- 获取日期中的月份
SELECT MONTH('2020-08-03 11:11:11')
-- 获取月份名称
SELECT MONTHNAME('2020-08-03 11:11:11')

-- 获取星期
SELECT DAYNAME('2021-08-03 11:11:11')
SELECT DAYOFWEEK('2021-08-03 11:11:11')


-- 计算日期是本年的第几天
SELECT DAYOFYEAR('2021-08-03 11:11:11')
-- 计算本年的第几个星期
SELECT WEEK('2021-08-03 11:11:11')  -- 0 ~ 53
-- 计算本月的第几天
SELECT DAYOFMONTH('2021-08-03 11:11:11')
-- 计算 日期是第几季节  1 ~ 4
SELECT QUARTER('2021-08-03 11:11:11')
-- 小时
SELECT HOUR(CURTIME())
-- 分钟
SELECT MINUTE(CURTIME())
-- 秒
SELECT SECOND(CURTIME())

-- 按照指定返回 
SELECT EXTRACT(YEAR  FROM '2021-08-03 11:11:11')

-- 将时间转换为秒
SELECT TIME_TO_SEC(CURTIME())

-- 将秒为单位的时间  转换为时分秒格式
SELECT SEC_TO_TIME(57852)
-- 计算距离时间的天数 0001-01-01 01:01:01
SELECT TO_DAYS('0001-01-01 01:01:01')
-- 计算从0000年1月1日开始的n天后的日期
select FROM_DAYS(1111)
-- 计算 两个时间的相隔天数
SELECT DATEDIFF('2021-08-03 11:11:11','2021-08-05 11:11:11')
-- 累加数值到 时间中 默认是天
SELECT ADDDATE('2021-08-03 11:11:11',3)
-- 累减数值到 时间中 默认是天
SELECT SUBDATE('2021-08-03 11:11:11',3)
-- 加一秒
SELECT ADDTIME('16:12:25',1)
-- 减一秒
SELECT SUBTIME('16:12:25',1)

-- 条件判断函数 
SELECT IF(1>0,'正确','错误')

-- 系统信息函数
SELECT VERSION() -- 返回数据库版本号
SELECT CONNECTION_ID() -- 返回服务器连接数
SELECT DATABASE() -- 当前数据库名称

SELECT USER() -- 当前用户
SELECT SYSTEM_USER()
SELECT SESSION_USER()
SELECT CURRENT_USER()

-- 加密
SELECT MD5('123456')
SELECT PASSWORD('123456')


SELECT ENCODE('','ceshi')
SELECT DECODE('','ceshi')


SELECT FORMAT(3.1415926,3)-- 四舍五入
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值